{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e6705cfb7219df3b",
   "metadata": {},
   "source": [
    "## 样本数据\n",
    "\n",
    "假如现在有这样一组房价数据。\n",
    "\n",
    "1. 1室1厅1卫，面积是80平方，价格是20000\n",
    "2. 2室2厅1卫，面积是100平方，价格是30000\n",
    "3. 3室2厅1卫，面积是120平方，价格是40000\n",
    "4. 1室1厅1卫，面积是60平方，价格是15000\n",
    "5. 2室2厅1卫，面积是90平方，价格是25000\n",
    "6. 3室2厅1卫，面积是110平方，价格是35000\n",
    "7. 1室1厅1卫，面积是70平方，价格是17000\n",
    "8. ...\n",
    "\n",
    "面积和价格呈线性关系，我们通过python模拟出这样一组样本数据，只关心面积和价格即可：：\n"
   ]
  },
  {
   "cell_type": "code",
   "id": "ed60a02e10681ed0",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T06:03:11.115115Z",
     "start_time": "2025-07-16T06:03:10.581823Z"
    }
   },
   "source": [
    "import numpy as np"
   ],
   "outputs": [],
   "execution_count": 2
  },
  {
   "cell_type": "code",
   "id": "4b33434facd0a719",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-15T14:43:35.713716Z",
     "start_time": "2025-07-15T14:43:35.698092Z"
    }
   },
   "source": [
    "x = np.array([80, 100, 120, 60, 90, 110, 70])\n",
    "y = np.array([20000, 30000, 40000, 15000, 25000, 35000, 17000])"
   ],
   "outputs": [],
   "execution_count": 2
  },
  {
   "cell_type": "markdown",
   "id": "f70a5a0e5de20cf6",
   "metadata": {},
   "source": [
    "让X随机，生成更多的样本：\n"
   ]
  },
  {
   "cell_type": "code",
   "id": "92f07b008e02f1b6",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T06:03:27.511542Z",
     "start_time": "2025-07-16T06:03:27.429829Z"
    }
   },
   "source": [
    "# 生成100个样本，范围在1到100之间\n",
    "# x 表示房子的面积\n",
    "# y 表示房子对应的价格\n",
    "\n",
    "x = np.random.randint(1, 100, 100)\n",
    "# y = x * 10 + np.random.randint(100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "\n",
    "print(x[:5])\n",
    "print(y[:5])"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[25  9 32 86 69]\n",
      "[318 119 400 955 743]\n"
     ]
    }
   ],
   "execution_count": 4
  },
  {
   "cell_type": "code",
   "id": "9f0f3adc0587bb74",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T06:03:30.137967Z",
     "start_time": "2025-07-16T06:03:29.851803Z"
    }
   },
   "source": [
    "# 用plot画出x和y\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.scatter(x, y) # 散点图\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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50HNJ598IoMHD5amTZvKc889J1u2bJF///d/lzZt2kTOmTNnjsydO1cWLFgga9askfLychk+fLgcPPjFPwIa0GzevFmWL18uy5Ytk1WrVsl1113n9eUCCAEn/WecTtb2ctUHgLdKLF028dCtt94qL730kvzlL39JeFx/XOfOneWmm26Sm2++2TxWV1cnHTt2lIULF8qYMWPkjTfekL59+8q6detk4MCB5pznn39eLrnkEnn//ffN89Opr6+XyspK89q62gMATvrUpKO5MkPuWWlKwa1kXYcrm8nqaUNJFgYykM3nt+crNc8++6wJRL797W9Lhw4d5Mwzz5SHHnoocnz79u1SW1trtpxsevHnnXee1NTUmPt6q1tOdkCj9PxGjRqZlZ1EGhoazBsR/QUA0TRw0WDjyQmD5P4xA8yt3nczgNLLVR8A3vI8qHnnnXdk/vz50qtXL/njH/8o119/vfz4xz+WRx991BzXgEbpykw0vW8f01sNiKI1adJE2rZtGzkn3uzZs01wZH916dLF6/80AAFg95+5YsBJ5jaT4MPuOqwrMtH0fnQTPwBF3nzv2LFjZoXlrrvuMvd1pWbTpk0mf2bcuHGSK9OnT5epU6dG7utKDYENgFxJ1XUYQECCGq1o0nyYaH369JHf//735vuqqipzu2vXLnOuTe8PGDAgcs7u3btjXuPIkSOmIsp+fryysjLzBQD5kqzrMICAbD9p5dPWrVtjHnvrrbekW7du5vsePXqYwGTFihUxqyqaK1NdXW3u6+3evXtl/fr1kXNWrlxpVoE09wYA/D7xG0AAVmqmTJki559/vtl++s53viNr166VBx980HypkpISmTx5stxxxx0m70aDnBkzZpiKplGjRkVWdkaMGCETJkww21aHDx+WSZMmmcooJ5VPAJCMBh5ebBl5UUkFwOcl3Ur7ymiOizbU06BFc100QLHpj7zttttMoKMrMkOGDJEHHnhATj311Mg5utWkgczSpUtN1dPo0aNNb5uWLVs6ugZKugHkKhBJNvHbDo1IFgYyl83nd06CGj8gqAEQvTLzpy218vBL/zjhuNtAxO5Tk2xUAn1qgMJ9fnu+/QQAfl6Ziae/1WnooedpNVO6QMTNxG+SiIH8YqAlgECyt4jSDZ+MD0TSrdK89PY/Hf18Zj8B+cdKDYDAbTXV1h+UWcs2JxxjkGkg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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 5
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## 什么是模型\n",
    "模型就是一个函数, y=f(x)"
   ],
   "id": "b416d417c9bd6063"
  },
  {
   "cell_type": "markdown",
   "id": "eaaed1d6b9df30ac",
   "metadata": {},
   "source": [
    "## 定义模型函数\n",
    "\n",
    "我现在想要训练一个模型，用来预测房价，模型是一个简单的线性模型: $$y = w*x$$, w就是模型的参数"
   ]
  },
  {
   "cell_type": "code",
   "id": "409765401ca44cce",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-15T15:26:59.976997Z",
     "start_time": "2025-07-15T15:26:59.744670Z"
    }
   },
   "source": [
    "w = 0.1\n",
    "y_predict = w * x\n",
    "\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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OnSQSy+9VDZt2hR2zsGDB2XcuHHSrl07admypYwcOVJ27tzp2zXnqvvuu890o54wYULDY3z26bNjxw658sorzWfbvHlz6devn7z11lsNx7VuYurUqdKpUydzfOjQobJ582ZfrzkXHD16VKZMmSI9e/Y0n+vxxx8v06dPD9tPh8/eGytWrJCLLrrIdMrVf1uef/75sONOPuc9e/bIqFGjTHO71q1by5gxY2T//v3uLsTKQ/Pnz7cKCwut//mf/7E2btxojR071mrdurW1c+dOvy8tZwwbNsx68sknrQ0bNljr16+3LrzwQqtbt27W/v37G8759a9/bXXt2tVatmyZ9dZbb1lnnnmmddZZZ/l63blm9erVVo8ePayTTjrJuuGGGxoe57NPjz179ljdu3e3fvGLX1hvvvmm9dFHH1n/+7//a23ZsqXhnPvuu88qLS21nn/+eevtt9+2Lr74Yqtnz57Wv/71L1+vPejuueceq127dtbixYutrVu3Ws8995zVsmVL649//GPDOXz23vjb3/5m/fa3v7X++te/ajq0FixYEHbcyec8fPhw6+STT7ZWrVpl/f3vf7dOOOEE64orrnB1HXkZYE4//XRr3LhxDfePHj1qde7c2ZoxY4av15XLdu3aZf5Df+2118z9ffv2WU2bNjX/yNjee+89c05lZaWPV5o7vvrqK6tXr17W0qVLrR/84AcNAYbPPn1uu+02a/DgwTGP19fXW2VlZdbvf//7hsf076OoqMh69tlnM3SVuWnEiBHWL3/5y7DHLrvsMmvUqFHmez779IgMME4+53fffdc8b82aNQ3nvPTSS1ZBQYG1Y8cOx++dd1NIhw4dkrVr15ohrdB9k/R+ZWWlr9eWy6qrq81t27Ztza3+HRw+fDjs76F3797SrVs3/h48olNEI0aMCPuMFZ99+ixatEgGDhwoP/nJT8zU6SmnnCKPP/54w/GtW7dKVVVV2Geve77oNDaffWrOOussWbZsmXzwwQfm/ttvvy2vv/66XHDBBeY+n31mOPmc9VanjfT/KzY9X38Wv/nmm47fK2c3c4xl9+7dZq60Y8eOYY/r/ffff9+368plujO4rr8YNGiQ9O3b1zym/4EXFhaa/4gj/x70GFIzf/58WbdunaxZs+Zbx/js0+ejjz6SRx99VG688Ua5/fbbzef/m9/8xnzeo0ePbvh8o/37w2efmkmTJpmdjzWMN27c2Pw7f88995h1ForPPjOcfM56qwE/VJMmTcwvuG7+LvIuwMCfkYANGzaY34aQfrpt/Q033CBLly41i9SR2bCuv1Xee++95r6OwOh/+3PmzDEBBunzl7/8RZ555hmZN2+efO9735P169ebX5x0oSmffW7Kuymk9u3bm3QeWXGh98vKyny7rlw1fvx4Wbx4sbzyyivSpUuXhsf1s9bpvH379oWdz99D6nSKaNeuXXLqqaea32r067XXXpNZs2aZ7/U3IT779NCqi/Ly8rDH+vTpI5988on53v58+ffHe7fccosZhbn88stN5ddVV10lEydONBWRis8+M5x8znqr/0aFOnLkiKlMcvN3kXcBRodyBwwYYOZKQ39r0vsVFRW+Xlsu0bVdGl4WLFggy5cvN6WNofTvoGnTpmF/D1pmrf/Q8/eQmiFDhsg777xjfgO1v3RUQIfS7e/57NNDp0kj2wXomozu3bub7/X/B/oPdOhnr9MeOu/PZ5+aAwcOmDUUofSXVf33XfHZZ4aTz1lv9Rco/WXLpj8n9O9K18o4ZuVpGbWuiJ47d65ZDX3NNdeYMuqqqiq/Ly1nXHvttaaM7tVXX7U+//zzhq8DBw6ElfJqafXy5ctNKW9FRYX5gvdCq5AUn336ytabNGliSno3b95sPfPMM1aLFi2sp59+OqzEVP+9WbhwofXPf/7TuuSSSyjl9cDo0aOt4447rqGMWkt827dvb916660N5/DZe1fh+I9//MN8aYx44IEHzPfbtm1z/DlrGfUpp5xi2g28/vrrpmKSMmqH/vSnP5l/wLUfjJZVay06vKP/UUf70t4wNv2P+brrrrPatGlj/pH/0Y9+ZEIO0h9g+OzT54UXXrD69u1rfknq3bu39dhjj4Ud1zLTKVOmWB07djTnDBkyxNq0aZNv15srampqzH/j+u96s2bNrH/7t38zvUrq6uoazuGz98Yrr7wS9d93DZFOP+cvv/zSBBbt1VNSUmJdffXVJhi5UaD/4+0AEgAAQHrl3RoYAAAQfAQYAAAQOAQYAAAQOAQYAAAQOAQYAAAQOAQYAAAQOAQYAAAQOAQYAAAQOAQYAAAQOAQYAAAQOAQYAAAQOAQYAAAgQfP/AfIKi9jiW5uKAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 8
  },
  {
   "cell_type": "markdown",
   "id": "58579e8f6c9f858b",
   "metadata": {},
   "source": [
    "## 开始训练"
   ]
  },
  {
   "cell_type": "code",
   "id": "56a6d12d249348fc",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-15T15:31:56.371747Z",
     "start_time": "2025-07-15T15:31:55.888526Z"
    }
   },
   "source": [
    "epoch = 2 # 超参数\n",
    "w = 0.1   # 参数\n",
    "\n",
    "for _ in range(epoch):\n",
    "    for i in range(len(x)):\n",
    "        y_predict = w * x[i]\n",
    "        print(y_predict)\n",
    "        loss = y_predict - y[i]\n",
    "        w = w - loss\n",
    "\n",
    "print(w)\n",
    "\n",
    "y_predict = w * x\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "7.4\n",
      "35247.1\n",
      "-1494125.6\n",
      "102242714.00000001\n",
      "-806250542.4000001\n",
      "55026613480.80001\n",
      "-1955561157583.2004\n",
      "57037200443010.016\n",
      "-2591390140108997.5\n",
      "6.847886285140629e+16\n",
      "-5.143523476394488e+18\n",
      "4.214392120209894e+20\n",
      "-3.3308930492261335e+21\n",
      "6.703422261567593e+22\n",
      "-3.911301163053787e+24\n",
      "6.155490354969895e+25\n",
      "-2.1351857168801824e+27\n",
      "1.4957841562576844e+29\n",
      "-9.292559070750864e+30\n",
      "8.322002901139107e+32\n",
      "-6.172914239855931e+34\n",
      "5.725172193658382e+36\n",
      "-5.664266106491803e+37\n",
      "4.7919691260920656e+39\n",
      "-1.090427868160737e+41\n",
      "1.8774323295289212e+42\n",
      "-2.4823827468215736e+43\n",
      "5.993181203040657e+44\n",
      "-5.301660294997504e+46\n",
      "2.674457111856893e+48\n",
      "-2.3073747631706526e+50\n",
      "2.1670968656369825e+52\n",
      "-1.9941853473051054e+54\n",
      "8.482792724665588e+55\n",
      "-2.237089988318785e+57\n",
      "1.7233878428529902e+58\n",
      "-8.14300755748038e+59\n",
      "7.352834231532283e+61\n",
      "-2.98189396933119e+63\n",
      "1.5127657210265549e+65\n",
      "-6.2314311046901555e+66\n",
      "4.623128410051078e+68\n",
      "-1.0949514655384132e+70\n",
      "8.289695053680404e+71\n",
      "-3.764990614253834e+73\n",
      "1.3995943370378385e+75\n",
      "-1.3627629071157901e+76\n",
      "3.188865202650949e+77\n",
      "-1.9317164208366327e+79\n",
      "1.806001542655201e+81\n",
      "-7.50536220042393e+82\n",
      "4.982130908281409e+84\n",
      "-3.190761780230226e+86\n",
      "2.890339286460857e+88\n",
      "-1.6295858563991812e+90\n",
      "1.0726677426683734e+92\n",
      "-4.120965327803572e+93\n",
      "1.0439778830435715e+95\n",
      "-2.9110921738714976e+96\n",
      "1.5458903268145193e+98\n",
      "-4.553349689890039e+99\n",
      "3.4772413798460264e+101\n",
      "-3.364561152853548e+103\n",
      "2.2645556494104083e+105\n",
      "-1.2048768146421848e+107\n",
      "8.869232107782749e+108\n",
      "-6.213192732572076e+110\n",
      "1.9602185522480916e+112\n",
      "-1.3102835885183337e+114\n",
      "6.585599253596495e+115\n",
      "-4.003011311009634e+117\n",
      "3.505217485076016e+119\n",
      "-1.2130415566330485e+121\n",
      "1.0605449037991795e+122\n",
      "-4.8078035638896134e+123\n",
      "9.427065811548262e+124\n",
      "-8.060141268873763e+126\n",
      "2.3911752430992166e+128\n",
      "-4.3917918631588945e+129\n",
      "1.0401612307481591e+131\n",
      "-2.396531475643759e+132\n",
      "3.9043491957362905e+133\n",
      "-3.04998572466929e+135\n",
      "2.1092672360965937e+137\n",
      "-1.5593511352571247e+139\n",
      "4.7695353390397925e+140\n",
      "-1.9847421249552686e+142\n",
      "1.0080643723028619e+144\n",
      "-5.042260446845661e+145\n",
      "2.8177337791196345e+147\n",
      "-1.7440289074972054e+149\n",
      "1.2700959726344728e+151\n",
      "-3.7587975406344534e+152\n",
      "2.7614632598527785e+154\n",
      "-1.3625641084799895e+156\n",
      "1.2017815436793507e+158\n",
      "-8.913213115621851e+159\n",
      "3.781579217854498e+161\n",
      "-1.1080906545341086e+162\n",
      "6.648543927204651e+163\n",
      "-4.8652567005077595e+165\n",
      "2.0637892949856565e+167\n",
      "-8.869494458449984e+168\n",
      "6.06754052725783e+170\n",
      "-4.7846891014947456e+171\n",
      "3.2655503117701634e+173\n",
      "-1.1605263415675503e+175\n",
      "3.384868496238689e+176\n",
      "-1.537858586791111e+178\n",
      "4.06387311658417e+179\n",
      "-3.05242025201211e+181\n",
      "2.5010279270012045e+183\n",
      "-1.976716048328663e+184\n",
      "3.9781410472614345e+185\n",
      "-2.321158819749933e+187\n",
      "3.65297125731137e+188\n",
      "-1.2671244048798816e+190\n",
      "8.87672015526663e+191\n",
      "-5.5146623964593935e+193\n",
      "4.938686546162524e+195\n",
      "-3.663311449076597e+197\n",
      "3.397599258636908e+199\n",
      "-3.3614545856726853e+200\n",
      "2.843790579479092e+202\n",
      "-6.471136222878487e+203\n",
      "1.114160845330383e+205\n",
      "-1.4731682288257285e+206\n",
      "3.556649009593544e+207\n",
      "-3.1462664315635198e+209\n",
      "1.587154620531119e+211\n",
      "-1.3693098686935142e+213\n",
      "1.2860620528127155e+215\n",
      "-1.1834478384935535e+217\n",
      "5.034107149548922e+218\n",
      "-1.3275994203694135e+220\n",
      "1.022743257173474e+221\n",
      "-4.8324618901446655e+222\n",
      "4.3635341067306275e+224\n",
      "-1.769602799153475e+226\n",
      "8.977497127412753e+227\n",
      "-3.6980382397919454e+229\n",
      "2.743592179807548e+231\n",
      "-6.497981478491561e+232\n",
      "4.919513477674653e+234\n",
      "-2.234330931379323e+236\n",
      "8.305882375344874e+237\n",
      "-8.087306523362114e+238\n",
      "1.8924297264667347e+240\n",
      "-1.1463756996865798e+242\n",
      "1.0717702970085643e+244\n",
      "-4.454051718515592e+245\n",
      "2.9566419502908256e+247\n",
      "-1.8935552490465508e+249\n",
      "1.715269739444014e+251\n",
      "-9.670765367930544e+252\n",
      "6.365738887802702e+254\n",
      "-2.4455838652543515e+256\n",
      "6.195479125311024e+257\n",
      "-1.7275855253271125e+259\n",
      "9.174074858633632e+260\n",
      "-2.70218204927027e+262\n",
      "2.0635663582927294e+264\n",
      "-1.996696359846788e+266\n",
      "1.3438988968927972e+268\n",
      "-7.150332660232559e+269\n",
      "5.2634393193378555e+271\n",
      "-3.687214691173479e+273\n",
      "1.1632902687645905e+275\n",
      "-7.77586839027331e+276\n",
      "3.9082190691982377e+278\n",
      "-2.37558414010089e+280\n",
      "2.080168757517376e+282\n",
      "-7.198786261970245e+283\n",
      "6.293795989036842e+284\n",
      "-2.8531875150300348e+286\n",
      "5.5944853235883034e+287\n",
      "-4.783284951668e+289\n",
      "1.4190412023281732e+291\n",
      "-2.6063056749427446e+292\n",
      "6.172829230127553e+293\n",
      "-1.4222198546213882e+295\n",
      "2.3170331798206785e+296\n",
      "-1.8100118016481533e+298\n",
      "1.2517431013807712e+300\n",
      "-9.253957928064987e+301\n",
      "2.8304772649308104e+303\n",
      "-1.1778437650841115e+305\n",
      "5.982350658008604e+306\n",
      "-inf\n",
      "inf\n",
      "nan\n",
      "nan\n",
      "nan\n",
      "nan\n",
      "nan\n",
      "nan\n",
      "nan\n",
      "nan\n",
      "nan\n",
      "nan\n",
      "nan\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Lenovo\\AppData\\Local\\Temp\\ipykernel_15472\\393460432.py:6: RuntimeWarning: overflow encountered in scalar multiply\n",
      "  y_predict = w * x[i]\n",
      "C:\\Users\\Lenovo\\AppData\\Local\\Temp\\ipykernel_15472\\393460432.py:9: RuntimeWarning: invalid value encountered in scalar subtract\n",
      "  w = w - loss\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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7dvL3XffLadOnfL6cgEAQK4HmE2bNsl///d/y4UXXhj2+OTJk+Wll16SF154Qd544w3Zt2+f3HjjjbXHT58+bcLLyZMn5c0335TnnntO5s+fL9OnT/fycgEAQK4HmGPHjsno0aNl3rx50rp169rHdVXxM888I48//rhceeWV0qdPH3n22WdNUFm/fr05569//ats375dnn/+eendu7dcc801MmPGDHnqqadMqAEyWe1T8uEhWVq619yy8zIABCzA6BSRjqIMHjw47PHNmzdLdXV12OPdu3eXs88+W0pKSsx9ve3Vq5d06NCh9pwhQ4aY0qpt27Z5dclAwn4rAx9dLTfNWy93LC41t3pfHwcApJcnZdSLFy+Wt99+20whRSorK5NGjRpJq1atwh7XsKLH7HNCw4t93D4WTVVVlfmwadgB3KIhRVvoR463lJWfMI876XALAMjiEZhPP/1U7rjjDlmwYIE0aZK+XWlnzpxpGt/YH507d07b90aw6TSRdrqNNllknfm47/9tkXUfHGRKCQD8GmB0iujAgQNyySWXSIMGDcyHLtSdPXu2+VxHUnQdy9GjR8O+TquQCgsLzed6G1mVZN+3z4k0depUs77G/tAgBbhBO9wm2jzx6JfVMvp/b2BKCQD8GmAGDRokW7ZskdLS0tqPvn37mgW99ucNGzaUVatW1X7Nzp07Tdl0cXGxua+3+hwahGwrV640LYWLioqift/GjRub46EfgBu0Hb9T9pQSIQYAfLYGpkWLFtKzZ8+wx/Lz803PF/vxsWPHypQpU6RNmzYmaPzsZz8zoaV///7m+NVXX22Cyi233CKzZs0y615+9atfmYXBGlSAdNK9hJzSCSTdcUinnK4qKmT/IQAIUifeJ554Qq699lrTwO7yyy8300J//vOfa4/Xr19fli9fbm412Nx8881y6623ygMPPJCJy0WO040QdTfnvCRCjE456dQTAMAb7EYNJFGFpJz+D3NrcRe5pmdHdoIGAA/evwkwyDlaKaSjI7q2RaeHnAYMDTE6NZRoQW8kHb359XVFlFkDgAMEGAIMHIaQZALGyVM18tybu+WJ13bJ8ZOnHX1POxrRKwYA3Hv/Zjdq5Nw0UOQIitPKIT3+3cdel4deec9xeFH2bwganOgTAwDuIMAgJyRqRpcoYMQKP06xsBcA3EWAQU5I1IwuXsCIF35szRrVd72nDAAgNgIMcoLT4BDtPCedeJ1OKSXTUwYAEBsBBjnBaXCIdp7T8NOqacOYvWLyziwW1oonAEDdEWCQExI1o4sXMJyGnx8N6Fr7XJHPrbTSiX4wAOAOAgxyggYHDRCpBAyn4WfileeZUunCgvDAo/cpoQYAd9EHBjkl1T4wsTrxRuvxkmqjPACA0MiOAIN0dOKlyy4AuIsAQ4CBBxhdAYDseP9u4PF1AIGiYaX4nLaZvgwAyHkEGASKmyMkjLYAQPYiwCAwYq1RmTa8SFrnN0oqiMR+rh7SOr8xoQYAMow1MAgEu0rIyT/mRAtv3XwuAEBy2I0aOcPJXkVOd59287kAAN4hwMD3nOxV5HT3aTefCwDgHQIMfC+VHZ5j7T7t5nMBALxDgIHv1WWH58jA4uZzAQC8Q4CB7yXaqyieyMDi5nMBALxDgEGgN2qMp1WzhlJTY4WtXUn1uWLtZA0A8AYBBr6lwaPkw0OytHSvFDRtJE/94OKv7QQdz9Hj1TL6mQ0y8NHVYVVEWhIdbVfpeK6/qCP9YAAgjegDg0A3rTtSWSUPLN8uZRVVMZ8r2o7SoZ14y8q/lBkv75DDlSdjPod+77X3XkmIAYA6og8MAjva8uRru0zvlchyZ+3JMmHh21L+5Um5ofc3zZ5F9UygyEupFNre96iwoGnc8KKoQgKA9GIrAfhytCUa60xU0XOvKiqUldvLHHfUDS2Fjtys0Wl1EVVIAJA+BBhktWTa+ocGkfUfHUqqo268EOK0uogqJABIH6aQkLWSbesfSqebkumoGy+EJCqt1sepQgKA9CLAIGsl29Y/XHKxJ14IiVdabd/X4yzgBYD0IcAga6W6pkRzRL9u4etY4nESQmKVVuv9yOolAID3WAODrJXqmhItJKqXl2dGVLQyKdFYjIYQDS+JQoge18XBOjJkl2nriA0jLwCQfgQYZC177YmTEBLpYGWVCSW6AFjjRejX2/d/PKCrCSTJhBC7tBoAkFlMISFj/Vz0NrTvSqRU2/orHR2JN+0z9+ZLZPp1F5gwwggKAPgPnXiR8e65iaZvnPaBUXlnAkpoV1y7oy7TPgAQnPdvppDgmnhBIVY/F50e0sfjLYSNXHvy8cHj8tvX3jfHIqeGFBVBABB8BBh4Prqi4SNWP5fI7rmxgkfk2pPzC5t/7ftFW4yb6qgPACC7MYWEOos1umJHkUmDz5MnXtuV8HkWjeuf1ALZRFNDia6L8mcAyD5MISHj3XLt0ZVn133sSd+XeBVBTq4r0agPACB7UYUET7vlalg4+mV12vcScnJd7CANAP5FgEGdOB01adW0YVr3EmIHaQAINgIM6sTpqMmPBnSr015CyfSPSea62EEaAPyJNTDwtFuu3Zdl4pXnOq4cipRKJZHT62IHaQDwJ6qQUGd2tU+sviyh1T7JNpWrSyVRMtcFAPDX+zcBBgk5CR1e9FvR7zvw0dUxF+NG67obiT4wAOAvlFHDFU4DgBc7NSdTSRSrnJodpAEgmAgwiCnZ9v9u79TsViURO0gDQPBQhYSUGsEpPZ6oGqguqCQCAMRCgEHWNoKzK4nS2T8GAOAPBBhkbSM4nfrRtTZ16R8DAAgmAgyyevpG19joWhutNgql9ymDBoDcxSJeZH0jOCqJAACRCDCIO32j1UZ5MRrBpXP6hkoiAEAoppDg2fRNsvsXAQDgFCMwSGn6RmkoiTWlQwdcAICX2EoASUsUTuqyfxEAILdVOHz/ZgoJSbHDSWSPGLs77yvvfp7xBngAgOAjwMDV7rzTlm7NeAM8AEDwEWDganfeQ5UnM94ADwAQfK4HmJkzZ8qll14qLVq0kPbt28uIESNk586dYeecOHFCJkyYIG3btpXmzZvLyJEjZf/+/WHn7NmzR4YPHy7NmjUzz3P33XfLqVOn3L5cJMHN0MH+RQCArAowb7zxhgkn69evl5UrV0p1dbVcffXVUllZWXvO5MmT5aWXXpIXXnjBnL9v3z658cYba4+fPn3ahJeTJ0/Km2++Kc8995zMnz9fpk+f7vblwoPQ0Sa/IfsXAQD8XYX0z3/+04ygaFC5/PLLzarib3zjG7Jw4UL593//d3POe++9Jz169JCSkhLp37+/vPrqq3LttdeaYNOhQwdzzty5c+Xee+81z9eoUaOE35cqJG/WwAx8dHXC7rzThveQCQv/YR6L1gCPKiQAQNZXIekFqDZt/vUb9+bNm82ozODBg2vP6d69u5x99tkmwCi97dWrV214UUOGDDF/qG3btkX9PlVVVeZ46Acys7nisAs7sX8RAMC/jexqampk0qRJMmDAAOnZs6d5rKyszIygtGrVKuxcDSt6zD4nNLzYx+1jsdbe3H///R79SRDZnTeyD0xhRJM69i8CAPg2wOhamK1bt8ratWvFa1OnTpUpU6bU3tcRmM6dO3v+fXOR03DC/kUAAN8FmIkTJ8ry5ctlzZo1ctZZZ9U+XlhYaBbnHj16NGwURquQ9Jh9zsaNG8Oez65Sss+J1LhxY/Ph9zUmfhmxIJwAAAIVYHRN8M9+9jNZsmSJ/O1vf5Nu3bqFHe/Tp480bNhQVq1aZcqnlZZZa9l0cXGxua+3Dz30kBw4cMAsAFZa0aSLeYqK/rUGI2jYOwgAgAxWId1+++2mwmjp0qVy/vnn1z6uK4qbNm1qPh8/fry88sorpjRaQ4kGHqUl03YZde/evaVTp04ya9Yss+7llltukf/8z/+Uhx9+2NF1+KkKib2DAABI7v3b9QCTlxd9yuPZZ5+VH/7wh7WN7O68805ZtGiRqR7SCqM//OEPYdNDn3zyiQk6OoqTn58vY8aMkUceeUQaNGgQqABjlybH6nBrlyavvffKrJ1OAgDA9wEmW/glwJR8eEhumrc+4XmLxvWvXXPip7UyAAB48f7taRUS3GvPb5/HWhkAANjM0Tft+fU8e61M5HSTdsbVx/U4AAC5gACTYTr9oyMoifYO6tOltRl5iTbfZ5350OM6vQQAQNARYHzSnn/zJ0diLvS16XFdG5MMDTy6Dmdp6V5zSwACAPgBa2B80p5/yT/2Onqusgpna2oU62kAAH5FgPFJe/7Dx6ocPY/T82L1nrHX09B7BgCQzQgwPmnP3ya/kaPncHKeThPFW0+jkUmPa6CiPBsAkI1YA+MThQVNXTtPR3niraexUlxPAwBAuhBgfFatFI8e1/Pc7j0DAEC2IcD4rFopXrm1Hncy5ZNM7xkAALIRAcaH1UqRIzF6P5lFt057zzgZzQEAIBNYxBuwaqVkRnO02ki/yorRe4YFvACAbMVmjjmMPjAAgGzDZo4+lO5dpt0YzQEAIBMIMDk+GhKv9wwAANmKRbxZgF2mAQBIDiMwGZaoK676xZIt8mV1jRS2ZIoHAABFgMmwRF1x1eHKapn8x1LzOYtsAQBgCinjku12y7QSAAAEmIxLttutPa2k0046/QQAQC4iwGRYoq640bDZIgAg1xFgMszuiquSXZrLZosAgFxFgMmiPY4KE+w2HYnNFgEAuYoqpCwKMVd27yD/t+Rj2X2oUpaW7pNjJ05FLa/WkRoNO2y2CADIVQSYLO7EGw2bLQIAQIDJir2K7E68TmqKdOSFPjAAgFxHgMnwXkXxOvHa2uQ3lGnXXkAnXgAAzmARb4b3KnLaiVfDi266SHgBAIAA48peRXVpKue0FJqSaQAAvkKAqeMISV2byjkthaZkGgCArxBgMjxCkqgTrz6uxymZBgDgKwSYDI+QxOvES8k0AADREWCyYIQkVideva+PUzINAEA4yqgdjpBotZGGFcujERINKVcVFXrSZwYAgKDJsywrtfKZLFdRUSEFBQVSXl4uLVu2zNo+MAAAIPn3b0ZgHGKEBACA7EGASYKGFW0mBwAAMotFvAAAwHcIMAAAwHcIMAAAwHcIMAAAwHcIMAAAwHcIMAAAwHcIMAAAwHcIMAAAwHcIMAAAwHcC24nX3uJJ91QAAAD+YL9vJ9qqMbAB5osvvjC3nTt3zvSlAACAFN7HdVPHnNuNuqamRvbt2yctWrSQvLy8qAlPw82nn37qym7VcI7XPnN47TOH1z5zeO399dprLNHw0qlTJ6lXr17ujcDoH/qss85KeJ6+oPyDzgxe+8zhtc8cXvvM4bX3z2sfb+TFxiJeAADgOwQYAADgOzkbYBo3biy//vWvzS3Si9c+c3jtM4fXPnN47YP52gd2ES8AAAiunB2BAQAA/kWAAQAAvkOAAQAAvkOAAQAAvpOzAeapp56Srl27SpMmTaRfv36ycePGTF9SoMycOVMuvfRS0wm5ffv2MmLECNm5c2fYOSdOnJAJEyZI27ZtpXnz5jJy5EjZv39/xq45qB555BHTjXrSpEm1j/Hae2fv3r1y8803m9e2adOm0qtXL3nrrbdqj2vdxPTp06Vjx47m+ODBg2XXrl0ZveYgOH36tEybNk26detmXtdzzjlHZsyYEbafDq+9O9asWSPXXXed6ZSrP1tefPHFsONOXufDhw/L6NGjTXO7Vq1aydixY+XYsWPJXYiVgxYvXmw1atTI+p//+R9r27Zt1rhx46xWrVpZ+/fvz/SlBcaQIUOsZ5991tq6datVWlpqDRs2zDr77LOtY8eO1Z7z05/+1OrcubO1atUq66233rL69+9vXXbZZRm97qDZuHGj1bVrV+vCCy+07rjjjtrHee29cfjwYatLly7WD3/4Q2vDhg3WRx99ZP3lL3+xPvjgg9pzHnnkEaugoMB68cUXrXfeece6/vrrrW7dullffvllRq/d7x566CGrbdu21vLly63du3dbL7zwgtW8eXPrySefrD2H194dr7zyivXLX/7S+vOf/6zp0FqyZEnYcSev89ChQ62LLrrIWr9+vfX3v//dOvfcc62bbropqevIyQDz7W9/25owYULt/dOnT1udOnWyZs6cmdHrCrIDBw6Yf+hvvPGGuX/06FGrYcOG5oeMbceOHeackpKSDF5pcHzxxRfWeeedZ61cudL67ne/WxtgeO29c++991oDBw6MebympsYqLCy0HnvssdrH9O+jcePG1qJFi9J0lcE0fPhw68c//nHYYzfeeKM1evRo8zmvvTciA4yT13n79u3m6zZt2lR7zquvvmrl5eVZe/fudfy9c24K6eTJk7J582YzpBW6b5LeLykpyei1BVl5ebm5bdOmjbnVv4Pq6uqwv4fu3bvL2Wefzd+DS3SKaPjw4WGvseK1986yZcukb9++8v3vf99MnV588cUyb9682uO7d++WsrKysNde93zRaWxe+7q57LLLZNWqVfL++++b+++8846sXbtWrrnmGnOf1z49nLzOeqvTRvr/ik3P1/fiDRs2OP5egd3MMZaDBw+audIOHTqEPa7333vvvYxdV5DpzuC6/mLAgAHSs2dP85j+A2/UqJH5Rxz596DHUDeLFy+Wt99+WzZt2vS1Y7z23vnoo49kzpw5MmXKFPnFL35hXv+f//zn5vUeM2ZM7esb7ecPr33d3HfffWbnYw3j9evXNz/nH3roIbPOQvHap4eT11lvNeCHatCggfkFN5m/i5wLMMjMSMDWrVvNb0Pwnm5bf8cdd8jKlSvNInWkN6zrb5UPP/ywua8jMPpvf+7cuSbAwDt/+tOfZMGCBbJw4UK54IILpLS01PzipAtNee2DKeemkNq1a2fSeWTFhd4vLCzM2HUF1cSJE2X58uXy+uuvy1lnnVX7uL7WOp139OjRsPP5e6g7nSI6cOCAXHLJJea3Gv144403ZPbs2eZz/U2I194bWnVRVFQU9liPHj1kz5495nP79eXnj/vuvvtuMwozatQoU/l1yy23yOTJk01FpOK1Tw8nr7Pe6s+oUKdOnTKVScn8XeRcgNGh3D59+pi50tDfmvR+cXFxRq8tSHRtl4aXJUuWyOrVq01pYyj9O2jYsGHY34OWWesPev4e6mbQoEGyZcsW8xuo/aGjAjqUbn/Oa+8NnSaNbBegazK6dOliPtf/D/QHdOhrr9MeOu/Pa183x48fN2soQukvq/rzXfHap4eT11lv9Rco/WXLpu8T+nela2Ucs3K0jFpXRM+fP9+shr7ttttMGXVZWVmmLy0wxo8fb8ro/va3v1mff/557cfx48fDSnm1tHr16tWmlLe4uNh8wH2hVUiK1967svUGDRqYkt5du3ZZCxYssJo1a2Y9//zzYSWm+vNm6dKl1rvvvmvdcMMNlPK6YMyYMdY3v/nN2jJqLfFt166ddc8999Sew2vvXoXjP/7xD/OhMeLxxx83n3/yySeOX2cto7744otNu4G1a9eaiknKqB363e9+Z36Aaz8YLavWWnS4R/9RR/vQ3jA2/cd8++23W61btzY/5L/3ve+ZkAPvAwyvvXdeeuklq2fPnuaXpO7du1tPP/102HEtM502bZrVoUMHc86gQYOsnTt3Zux6g6KiosL8G9ef602aNLG+9a1vmV4lVVVVtefw2rvj9ddfj/rzXUOk09f50KFDJrBor56WLVtaP/rRj0wwSkae/sfdASQAAABv5dwaGAAA4H8EGAAA4DsEGAAA4DsEGAAA4DsEGAAA4DsEGAAA4DsEGAAA4DsEGAAA4DsEGAAA4DsEGAAA4DsEGAAA4DsEGAAAIH7z/wES/pxe8mvEBQAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 9
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## 数据归一化\n",
    "\n",
    "因为x和y本身值比较大，再训练多轮后，主要因为有乘法，所以有可能会产生溢出，所以需要做归一化处理。\n",
    "\n",
    "在机器学习中，归一化（Normalization）指的是将数据按特定比例进行缩放，使其落入一个特定的、统一的范围（通常是较小的数值区间）内的一种数据预处理技术。\n",
    "\n",
    "归一化之后，数值变化更稳定，比如0.1 -> 0.1 * 10 和 100 -> 100 * 10，数值变化程度是很不一样的"
   ],
   "id": "970855ff3b8284d8"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-15T16:13:17.221802Z",
     "start_time": "2025-07-15T16:13:17.206182Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x = np.random.randint(1, 100, 100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "print(x[:5])\n",
    "print(y[:5])"
   ],
   "id": "82166fa2083a86b3",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[84 19 90 74 15]\n",
      "[866 289 982 793 245]\n"
     ]
    }
   ],
   "execution_count": 76
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-15T16:13:18.314055Z",
     "start_time": "2025-07-15T16:13:18.298433Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 归一化\n",
    "x = x / 100\n",
    "y = y / 100\n",
    "print(x[:5])\n",
    "print(y[:5])"
   ],
   "id": "f6b94526bc3d9824",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.84 0.19 0.9  0.74 0.15]\n",
      "[8.66 2.89 9.82 7.93 2.45]\n"
     ]
    }
   ],
   "execution_count": 77
  },
  {
   "cell_type": "code",
   "id": "68a407d08aad9da2",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-15T16:13:19.832667Z",
     "start_time": "2025-07-15T16:13:19.690227Z"
    }
   },
   "source": [
    "epoch = 2\n",
    "w = 0.1\n",
    "\n",
    "# 神经元\n",
    "for _ in range(epoch):\n",
    "    print(\"--------------\")\n",
    "    for i in range(len(x)):\n",
    "        y_predict = w * x[i]\n",
    "        loss = y_predict - y[i]\n",
    "        w = w - loss\n",
    "        print(w)\n",
    "\n",
    "print(w)\n",
    "\n",
    "y_predict = w * x\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--------------\n",
      "8.676\n",
      "9.91756\n",
      "10.811756\n",
      "10.74105656\n",
      "11.579898076000001\n",
      "12.2129133646\n",
      "10.850453539274\n",
      "10.85354988932014\n",
      "10.561168447980466\n",
      "10.61547769982867\n",
      "10.930810187924614\n",
      "10.70855115825663\n",
      "10.796684092660529\n",
      "10.774938909651368\n",
      "10.610462123983849\n",
      "10.977440304471601\n",
      "10.675939254804888\n",
      "11.384548366584156\n",
      "11.419175144264848\n",
      "11.3866555952148\n",
      "11.123327797607399\n",
      "10.644398007138662\n",
      "10.625539302498531\n",
      "10.665409869898884\n",
      "11.102704934949442\n",
      "11.20778525706663\n",
      "10.587269807967985\n",
      "10.975072055832635\n",
      "11.53681701192435\n",
      "10.561781443815793\n",
      "10.534712577526317\n",
      "10.20555401240421\n",
      "10.768831990791663\n",
      "11.62345535097583\n",
      "10.754938214039033\n",
      "11.189129610632879\n",
      "11.19697757682529\n",
      "11.75349138876499\n",
      "10.9150698277753\n",
      "10.36405488794427\n",
      "10.093732624227183\n",
      "10.79561839720633\n",
      "11.354889062016493\n",
      "11.047775671551051\n",
      "11.511564834249414\n",
      "10.748122505247341\n",
      "11.160716379984974\n",
      "10.75160716379985\n",
      "11.293191080433935\n",
      "11.402825221129792\n",
      "11.277384358353597\n",
      "10.736059966585968\n",
      "10.784126773937055\n",
      "10.794920435240202\n",
      "11.1895110132677\n",
      "11.229713700481483\n",
      "11.347291206182962\n",
      "10.205147856803785\n",
      "10.498736028259483\n",
      "10.55400146232499\n",
      "10.314840672669495\n",
      "10.239264947987287\n",
      "10.223497092718219\n",
      "10.315759534834916\n",
      "10.418395604609678\n",
      "10.510027692517484\n",
      "10.438022154013987\n",
      "10.81669905245203\n",
      "11.302015545176975\n",
      "11.039463575390704\n",
      "11.143812251386747\n",
      "11.561906125693373\n",
      "11.17961992044376\n",
      "10.639274573746441\n",
      "10.15753471163718\n",
      "11.037055199124346\n",
      "11.769644159299476\n",
      "11.333982572568827\n",
      "11.107127626523868\n",
      "11.1603457198929\n",
      "10.718569402747521\n",
      "11.026528186522029\n",
      "10.685040355439185\n",
      "11.388425827481079\n",
      "10.852148132396973\n",
      "11.128951107803363\n",
      "11.071896531745615\n",
      "11.003922398809213\n",
      "10.861451287559408\n",
      "10.610603180258318\n",
      "10.707166349828414\n",
      "10.90937805134729\n",
      "11.224657440025442\n",
      "11.99769854722239\n",
      "10.819516694916702\n",
      "11.457271352543357\n",
      "10.233718140576302\n",
      "10.072337181405764\n",
      "10.94748812893419\n",
      "10.268972507076178\n",
      "--------------\n",
      "10.303035601132189\n",
      "11.235458836917074\n",
      "10.943545883691707\n",
      "10.775321929759844\n",
      "11.609023640295868\n",
      "12.237670094251488\n",
      "10.855157317907782\n",
      "10.854067304969856\n",
      "10.561411633335833\n",
      "10.615618747334784\n",
      "10.930872248827304\n",
      "10.708570397136466\n",
      "10.796685631770917\n",
      "10.774939402166693\n",
      "10.61046242934335\n",
      "10.977440463258542\n",
      "10.675939283386537\n",
      "11.384548390878557\n",
      "11.419175164429202\n",
      "11.386655608523274\n",
      "11.123327804261637\n",
      "10.64439800953419\n",
      "10.625539303336966\n",
      "10.665409870536095\n",
      "11.102704935268047\n",
      "11.20778525727691\n",
      "10.587269808056302\n",
      "10.975072055852948\n",
      "11.536817011943242\n",
      "10.561781443821836\n",
      "10.534712577528733\n",
      "10.205554012404598\n",
      "10.768831990792\n",
      "11.62345535097616\n",
      "10.754938214039045\n",
      "11.189129610632884\n",
      "11.196977576825294\n",
      "11.753491388764994\n",
      "10.9150698277753\n",
      "10.36405488794427\n",
      "10.093732624227183\n",
      "10.79561839720633\n",
      "11.354889062016493\n",
      "11.047775671551051\n",
      "11.511564834249414\n",
      "10.748122505247341\n",
      "11.160716379984974\n",
      "10.75160716379985\n",
      "11.293191080433935\n",
      "11.402825221129792\n",
      "11.277384358353597\n",
      "10.736059966585968\n",
      "10.784126773937055\n",
      "10.794920435240202\n",
      "11.1895110132677\n",
      "11.229713700481483\n",
      "11.347291206182962\n",
      "10.205147856803785\n",
      "10.498736028259483\n",
      "10.55400146232499\n",
      "10.314840672669495\n",
      "10.239264947987287\n",
      "10.223497092718219\n",
      "10.315759534834916\n",
      "10.418395604609678\n",
      "10.510027692517484\n",
      "10.438022154013987\n",
      "10.81669905245203\n",
      "11.302015545176975\n",
      "11.039463575390704\n",
      "11.143812251386747\n",
      "11.561906125693373\n",
      "11.17961992044376\n",
      "10.639274573746441\n",
      "10.15753471163718\n",
      "11.037055199124346\n",
      "11.769644159299476\n",
      "11.333982572568827\n",
      "11.107127626523868\n",
      "11.1603457198929\n",
      "10.718569402747521\n",
      "11.026528186522029\n",
      "10.685040355439185\n",
      "11.388425827481079\n",
      "10.852148132396973\n",
      "11.128951107803363\n",
      "11.071896531745615\n",
      "11.003922398809213\n",
      "10.861451287559408\n",
      "10.610603180258318\n",
      "10.707166349828414\n",
      "10.90937805134729\n",
      "11.224657440025442\n",
      "11.99769854722239\n",
      "10.819516694916702\n",
      "11.457271352543357\n",
      "10.233718140576302\n",
      "10.072337181405764\n",
      "10.94748812893419\n",
      "10.268972507076178\n",
      "10.268972507076178\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 78
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-15T16:06:43.831734Z",
     "start_time": "2025-07-15T16:06:43.816111Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x = -1 * np.random.randint(1, 100, 100)\n",
    "y = -1 * np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "print(x[:5])\n",
    "print(y[:5])"
   ],
   "id": "3aefa76ba42b8a8f",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-90 -24  -3  -1 -67]\n",
      "[836 156 -37 -34 574]\n"
     ]
    }
   ],
   "execution_count": 49
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-15T16:06:45.164642Z",
     "start_time": "2025-07-15T16:06:44.992431Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(x, y)\n",
    "plt.xlim(-100, 100)\n",
    "plt.ylim(-1000, 1000)\n",
    "\n",
    "y_predict = 1 * x\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()\n"
   ],
   "id": "9e37c6675554ea3d",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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mzev6GHHH+vdFWfsTj3vjm2B/xfM1RamV/q0llGdby7w8bN7t5YeLUq5ZAKAoEd3W6jSUBAZBBl4xQoRl0WJgYKCki4pkt+CubckVjLLjriWDNAQxcK2AIorwuEI8ekxAbCKcIlt2yZy220S8PhRgp9du+7IN0QBCD2ZPn7/DoKmhhDz9NNF784q7YC0YAFT0RGUNBDpumy/TL7RfCQgASgJutuK6+JFkQcfFFm7VgLapUsiMdSFAQCgqGhJyu3QIZEBA0QaNy64dUfXoyrNgPTUU8Vr3SEgAQBQLLQkubpyRaRhQ99/nVOnROLjff91AABAsdGS5KpsWZEnnvD92B0CEgAAAY/ZbcEwuw0AAOTB7DYAAAA/ICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAADYICQBAAAEUkg6cuSIDBo0SJKSkqR8+fLSoEEDef755yUnJ8ftmIiIiDzbli1b3J5r2bJl0rhxY4mJiZHmzZvL6tWr/XBGAAAglJT11xfet2+fXL9+XV599VVp2LCh7N69WwYPHixZWVny5z//2e3Y9evXS9OmTZ23q1Wr5vx88+bN0rt3b5k2bZrcd999smTJEunVq5ds375dmjVrVqrnBAAAQkeEw+FwSICYOXOmzJ07V7755htnS5K2NH355ZeSnJxs+5hHHnnEBKtVq1Y572vXrp05ft68eR593czMTImLi5OMjAyJjY310tkAAABf8vX7d0CNSdKTrFq1ap77H3jgAalRo4Z06NBBVq5c6bYvLS1NOnfu7HZf165dzf35yc7ONt9Y1w0AACAgQ9LBgwfl5Zdflt/97nfO+ypVqiQvvviiGXP03nvvmZCkXWmuQSk9PV0SEhLcnktv6/350a45TZ7WVrt2bR+dFQAACFZeD0njx4+3HWztuul4JFfff/+9dOvWTR5++GEzLskSHx8vo0ePlrZt28rtt98u06dPl759+5puuZJITU01rVbW9u2335bo+QAAQOjx+sDtMWPGyMCBAws8pn79+s7Pf/jhB7nnnnukffv2Mn/+/EKfXwPTunXrnLcTExPlxIkTbsfobb0/P9HR0WYDAAAotZBUvXp1s3lCW5A0ILVp00YWLFggkZGFN2zt2LFDatas6bydkpIiGzZskJEjRzrv0xCl9wMAAARdCQANSHfffbfUrVvXTPk/deqUc5/VCrRo0SKJioqSVq1amdvLly+XN954Q/7+9787j33qqafkrrvuMmOXevbsKW+99ZZ88cUXHrVKAQAABFxI0tYeHayt20033eS2z7UqwdSpU+Xo0aNStmxZUzBy6dKl8utf/9q5X7vptDbShAkT5JlnnpFGjRrJ22+/TY0kAAAQOnWS/IU6SQAABJ/McKqTBAAAECgISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAADYISQAAAIEWkurVqycRERFu2/Tp092O+eqrr+TOO++UmJgYqV27tsyYMSPP8yxbtkwaN25sjmnevLmsXr26FM8CAACEIr+3JE2ZMkWOHz/u3J588knnvszMTOnSpYvUrVtXtm3bJjNnzpRJkybJ/Pnzncds3rxZevfuLYMGDZIvv/xSevXqZbbdu3f76YwAAEAoKOvvF3DDDTdIYmKi7b4333xTcnJy5I033pCoqChp2rSp7NixQ1566SUZMmSIOeavf/2rdOvWTcaOHWtuT506VdatWyezZ8+WefPmleq5AACA0OH3liTtXqtWrZq0atXKtBRdvXrVuS8tLU06duxoApKla9eusn//fjl79qzzmM6dO7s9px6j9+cnOzvbtFK5bgAAAAHTkvT73/9eWrduLVWrVjXdZqmpqabLTVuKVHp6uiQlJbk9JiEhwbmvSpUq5qN1n+sxen9+pk2bJpMnT/bJOQEAgNDg9Zak8ePH5xmMnXvbt2+fOXb06NFy9913S4sWLWTo0KHy4osvyssvv2xaenxJw1hGRoZz+/bbb3369QAAQPDxekvSmDFjZODAgQUeU79+fdv727Zta7rbjhw5IrfccosZq3TixAm3Y6zb1jim/I7Jb5yTio6ONhsAAECphaTq1aubrTh0UHZkZKTUqFHD3E5JSZFnn31Wrly5IuXKlTP36aBsDVDa1WYds2HDBhk5cqTzefQYvR8AACDoBm7rwOq//OUvsnPnTvnmm2/MTLZRo0ZJ3759nQGoT58+ZtC2Tu/fs2ePLF261Mxm0246y1NPPSVr1qwxXXXajaclAr744gsZMWKEv04NAACEgAiHw+Hwxxfevn27PPHEEybY6BgkHaDdr18/E4Bcu8K0mOTw4cNl69atEh8fb+oojRs3Lk8xyQkTJphuukaNGpmCkz169PD4tejstri4ODM+KTY21qvnCQAAfMPX799+C0mBhJAEAEDwyfTx+7ff6yQBAAAEIkISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAACADUISAABAIIWkDz/8UCIiImy3rVu3mmOOHDliu3/Lli1uz7Vs2TJp3LixxMTESPPmzWX16tV+OisAABAq/BaS2rdvL8ePH3fbHn/8cUlKSpLbbrvN7dj169e7HdemTRvnvs2bN0vv3r1l0KBB8uWXX0qvXr3Mtnv3bj+cFQAACBURDofDIQHgypUrcuONN8qTTz4pzz33nLMlSUOThp/k5GTbxz3yyCOSlZUlq1atct7Xrl07c/y8efM8+tqZmZkSFxcnGRkZEhsb66UzAgAAvuTr9++AGZO0cuVKOXPmjDz22GN59j3wwANSo0YN6dChgznOVVpamnTu3Nntvq5du5r785OdnW2+sa4bAABAQIak119/3YSbm266yXlfpUqV5MUXXzRjjt577z0TkrQrzTUopaenS0JCgttz6W29Pz/Tpk0zydPaateu7aOzAgAAwcrrIWn8+PH5Dsi2tn379rk95rvvvpO1a9eacUWu4uPjZfTo0dK2bVu5/fbbZfr06dK3b1+ZOXNmiV5jamqqaZqztm+//bZEzwcAAEJPWW8/4ZgxY2TgwIEFHlO/fn232wsWLJBq1aqZbrXCaGBat26d83ZiYqKcOHHC7Ri9rffnJzo62mwAAAClFpKqV69uNk/puHENSf3795dy5coVevyOHTukZs2aztspKSmyYcMGGTlypPM+DVF6PwAAQMCEpKLauHGjHD582Ez/z23RokUSFRUlrVq1MreXL18ub7zxhvz97393HvPUU0/JXXfdZcYu9ezZU9566y354osvZP78+aV6HgAAILSUDYQB21ozSYtB2pk6daocPXpUypYta45ZunSp/PrXv3bu18cuWbJEJkyYIM8884w0atRI3n77bWnWrFkpngUAAAg1AVMnyZ+okwQAQPDJDJc6SQAAAIGEkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAGCDkAQAAFCaIemPf/yjtG/fXipUqCCVK1e2PebYsWPSs2dPc0yNGjVk7NixcvXqVbdjPvzwQ2ndurVER0dLw4YNZeHChXmeZ86cOVKvXj2JiYmRtm3byueff+6r0wIAAGHCZyEpJydHHn74YRk2bJjt/mvXrpmApMdt3rxZFi1aZALQxIkTncccPnzYHHPPPffIjh07ZOTIkfL444/L2rVrnccsXbpURo8eLc8//7xs375dWrZsKV27dpWTJ0/66tQAAEAYiHA4HA5ffgENPhpuzp0753b/+++/L/fdd5/88MMPkpCQYO6bN2+ejBs3Tk6dOiVRUVHm8/fee092797tfNxvfvMb81xr1qwxt7Xl6Pbbb5fZs2eb29evX5fatWvLk08+KePHj7d9TdnZ2WazZGRkSJ06deTbb7+V2NhYn3wfAACAd2VmZpr3fM0FcXFxXn52kbLiJ2lpadK8eXNnQFLaAqQtT3v27JFWrVqZYzp37uz2OD1GQ5fSVqht27ZJamqqc39kZKR5jD42P9OmTZPJkyfnuV+/0QAAILicOXMmtEJSenq6W0BS1m3dV9AxmhwvXbokZ8+eNd12dsfs27cv36+toUq76CyaQOvWrWvGSPnimxzoCTzcWtA4b847HHDenHc4yPi5J6hq1ao+ef4ihSTtvnrhhRcKPObrr7+Wxo0bSyDTQeC65aYBKZx+uCx6zpx3+OC8wwvnHV7C9bwjIyP9H5LGjBkjAwcOLPCY+vXre/RciYmJeWahnThxwrnP+mjd53qM/gCUL19eypQpYza7Y6znAAAA8HlIql69utm8ISUlxZQJ0FloOv1frVu3zgSgJk2aOI9ZvXq12+P0GL1f6eDuNm3ayIYNG6RXr17Ogdt6e8SIEV55nQAAIDz5rASAju/Rafv6UccN6ee6Xbhwwezv0qWLCUP9+vWTnTt3mmn9EyZMkOHDhzu7woYOHSrffPONPP3002aM0SuvvCL/+te/ZNSoUc6vo2OLXnvtNVNCQLv6dOB3VlaWPPbYYx6/Vv16WkLArgsulHHenHc44Lw573DAeUf75gs4fGTAgAFaWiDPtmnTJucxR44ccXTv3t1Rvnx5R3x8vGPMmDGOK1euuD2PHp+cnOyIiopy1K9f37FgwYI8X+vll1921KlTxxzzH//xH44tW7b46rQAAECY8HmdJAAAgGDE2m0AAAA2CEkAAAA2CEkAAAA2CEkAAAA2wi4kaW2m9u3bS4UKFaRy5cq2x2jZgp49e5pjtIbT2LFj5erVq27HfPjhh9K6dWsz7bBhw4ZmId9goa89IiLCdtu6das55siRI7b7t2zZIsGsXr16ec5p+vTpbsd89dVXcuedd0pMTIwp8z9jxgwJZnotBw0aJElJSaYIa4MGDcyUWV370PWYULzeas6cOea66/XUBbFzF7ENdroWpS7yfcMNN5i/V1ozbv/+/W7H3H333XmurZZYCWaTJk3Kc06uqz1cvnzZlJSpVq2aVKpUSR566KE8hYdD5W+YbnquoXStP/74Y7n//vulVq1a5hzefvttt/0652zixIlSs2ZN83dN12w9cOCA2zE//vijPProo6b+or7f699BqwyRp8IuJOkbw8MPP2zqKdnRmk4akPS4zZs3m/pLGoD0YlgOHz5sjrnnnntM7SddcPfxxx83tZ6CgYbE48ePu236+vVN9LbbbnM7dv369W7HafHOYDdlyhS3c3ryySfd1j/SGl66lp8unjxz5kzzx3j+/PkSrLTGmBZZffXVV83i0bNmzZJ58+bJM888k+fYULveS5cuNbXUNBRu375dWrZsaRbJ1iK2oeKjjz4yb5AaaLXY7pUrV8zPsNaLczV48GC3axvs4V81bdrU7Zw++eQT5z6tp/fuu+/KsmXLzPfohx9+kAcffFCCnf5H1vWc9ZorfV8LpWudlZVlfl/1Pzl29Jz+9re/mb9ln332mVSsWNH8bms4tmhA0r95+j1atWqVCV5Dhgwp2gtxhCmttxQXF5fn/tWrVzsiIyMd6enpzvvmzp3riI2NdWRnZ5vbTz/9tKNp06Zuj3vkkUccXbt2dQSjnJwcR/Xq1R1Tpkxx3nf48GFT1+rLL790hJK6des6Zs2ale/+V155xVGlShXntVbjxo1z3HLLLY5QMmPGDEdSUlLIX2+tmzZ8+HDn7WvXrjlq1arlmDZtmiNUnTx50lzLjz76yHnfXXfd5XjqqaccoeT55593tGzZ0nbfuXPnHOXKlXMsW7bMed/XX39tvi9paWmOUKLXtUGDBo7r16+H7LUWEceKFSuct/VcExMTHTNnznS75tHR0Y5//vOf5vbevXvN47Zu3eo85v3333dEREQ4vv/+e4+/dti1JBUmLS1NmjdvLgkJCc77NJ1qC4MmUusYbdpzpcfo/cFo5cqVcubMGdsq5Q888IBpwu/QoYM5LhRo95o2wbdq1cq0FLl2peo17Nixo1nyxvXaavfF2bNnJZRWzrZbNTuUrre2BmtroOvvqi6CqbeD9XfV02urcl/fN998U+Lj46VZs2aSmpoqFy9elGCn3SvaHaNrhmqrgQ6VUHrdtUXN9dprV5yuFh9K115/xhcvXiy//e1vTZdUKF9rV9qbk56e7nZ9dYF67U63rq9+1C42194RPV7/BmjLk0/WbgsH+o13DUjKuq37CjpGg9SlS5dM/2gwef31100QuOmmm5z3aR/+iy++KHfccYf5ofrf//1fM9ZB+4X1jTRY/f73vzdjyfQNRLtT9Q+INke/9NJLzmur3Y75Xf8qVapIsDt48KC8/PLL8uc//zmkr/fp06dN97nd76p2QYYi7VbV7n+9jvoGaenTp4/pQtZAoWPuxo0bZ4L/8uXLJVjpG6IOhbjlllvM7/DkyZPNWMLdu3eb31X9j07ucad67a2/46FAfz/PnTvntvB8KF7r3KxraPe77fo+ba0Laylbtqz521+Un4GQCEnjx4+XF154ocBjdF0310F9oag434fvvvvOjKXSNfFc6f9CdCyHRQeGap++trwE2ptmUc7b9ZxatGhh/pD+7ne/M4Nfg23No+Jc7++//166detmxi/ouIVgvN7In45N0pDgOjZHuY7D0JZyHezaqVMnOXTokBnIH4y6d+/u9rusoUnDgf4tC7b/qJbkP7j6fdBAFMrX2p9CIiSNGTPGLUnb0eZYTyQmJuaZ/WLNiNB91sfcsyT0to6g9+cvZ3G+DwsWLDBdT568EeofIWuQYKhcfz0n7W7T2V36P9L8rq3r9Q/W89bQo5MNdOC+JwPRA/V6e0qDX5kyZWyvZ6BdS28YMWKEc3Cqa6twftfWalUMlTdObTW6+eabzTnde++9pitKW1lcW5NC6dofPXrUTLQorIUoFK914s/XUK+nhkCL3k5OTnYek3uChv6t1xlvRfkZCImQVL16dbN5Q0pKiikToN9cq6lO3yg0ADVp0sR5zOrVq90ep8fo/cH0fdDxcBqS+vfvL+XKlSv0eJ3J5/oDGQrXX89Ju5esa63X8NlnnzXjGazviV5bDVCB1tVWlPPWFiQNSDpbTa+5nnOwXm9PaSuhnu+GDRtM16HVHaW3NVCECv091hmaK1asMOU9cncX53dtVTBf39x0are2lvTr189cd/391WutU/+VdjnpmCV//532Fv091r9bOtM63K51UlKSCTp6fa1QpMNddKyRNXNdr7OGZB2fZs3S3bhxo/kbYAVHjzjCzNGjR80MnsmTJzsqVapkPtft/PnzZv/Vq1cdzZo1c3Tp0sWxY8cOx5o1a8zMr9TUVOdzfPPNN44KFSo4xo4da2ZMzJkzx1GmTBlzbDBZv369Gf2v55DbwoULHUuWLDH7dPvjH/9oZv298cYbjmC1efNmM7NNr+uhQ4ccixcvNte2f//+bjMkEhISHP369XPs3r3b8dZbb5lr/eqrrzqC1Xfffedo2LCho1OnTubz48ePO7dQvt5Kr5/OeNHz09kuQ4YMcVSuXNlt9mqwGzZsmJmp++GHH7pd24sXL5r9Bw8eNDNXv/jiCzOL8Z133nHUr1/f0bFjR0cwGzNmjDlnPadPP/3U0blzZ0d8fLyZ3aeGDh3qqFOnjmPjxo3m3FNSUswWCnSWpp6bzrx1FUrX+vz58873Z32feumll8zn+h6upk+fbn6X9Ry/+uorxy9/+UszY/fSpUvO5+jWrZujVatWjs8++8zxySefOBo1auTo3bt3kV5H2IWkAQMGmG947m3Tpk3OY44cOeLo3r27o3z58uaXTn8Zr1y54vY8enxycrIjKirK/BBqSYFgoz8s7du3t92nbyq33nqrCQha/kCnUrtOpw1G27Ztc7Rt29a8ocTExJjz+9Of/uS4fPmy23E7d+50dOjQwby53njjjeaXMZjpz6bdz7zr/5FC8XpbXn75ZfOGor+rel5btmxxhJL8rq31N+nYsWPmTbJq1armZ1oDs/4HLyMjwxHMtOxKzZo1zXXV31O9rSHBom+WTzzxhCnpoT/Xv/rVr9z+YxDM1q5da67x/v373e4PpWu9adMm259rfQ+3ygA899xz5j+1eq76n8Dc348zZ86Y9zltENG/a4899pizQcRTEfqPbxrEAAAAghd1kgAAAGwQkgAAAGwQkgAAAGwQkgAAAGwQkgAAAGwQkgAAAGwQkgAAAGwQkgAAAGwQkgAAAGwQkgAAAGwQkgAAACSv/w9nfQ48fmQhSAAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 50
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-15T16:06:48.301830Z",
     "start_time": "2025-07-15T16:06:48.142624Z"
    }
   },
   "cell_type": "code",
   "source": [
    "epoch = 20\n",
    "w = 0.1\n",
    "\n",
    "x = x / 100\n",
    "y = y / 100\n",
    "\n",
    "# 神经元\n",
    "for _ in range(epoch):\n",
    "    for i in range(len(x)):\n",
    "        y_predict = w * x[i]\n",
    "        loss = y_predict - y[i]\n",
    "        w = w - loss * x[i]\n",
    "\n",
    "print(w)\n",
    "\n",
    "y_predict = w * x\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "id": "64d1405f43c8ce95",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-9.08951209632045\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 51
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## Min-Max 归一化\n",
    "\n",
    "优点是，保留了原始数据的分布形状，并且数值在[0,1]区间\n",
    "\n",
    "缺点是，对异常值敏感，异常值会扭曲整个缩放"
   ],
   "id": "8bae26cf4a76b20d"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T03:31:56.927411Z",
     "start_time": "2025-07-16T03:31:56.870560Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x = np.random.randint(1, 100, 100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "print(x[:5])\n",
    "print(y[:5])\n",
    "\n",
    "x_hat = (x - np.min(x)) / (np.max(x) - np.min(x))\n",
    "y_hat = (y - np.min(y)) / (np.max(y) - np.min(y))\n",
    "print(x_hat[:5])\n",
    "print(y_hat[:5])"
   ],
   "id": "78c0007e7318a908",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[39 43 70 74 97]\n",
      "[ 457  453  783  796 1019]\n",
      "[0.39583333 0.4375     0.71875    0.76041667 1.        ]\n",
      "[0.41151832 0.40732984 0.75287958 0.76649215 1.        ]\n"
     ]
    }
   ],
   "execution_count": 8
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T03:32:06.857126Z",
     "start_time": "2025-07-16T03:32:06.656675Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(x, y, color='r')\n",
    "plt.show()"
   ],
   "id": "d040f717937deab5",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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dt2ePn168Bjve2ocOHBAJkyYYL6v7dq1k0GDBsl7770XvF/rNubMmSPdu3c37x8xYoTs2bMno6851509e1Zmz54t/fr1M9/Tiy++WB5++OGwfYV435P35ptvyg9/+EOzC7D+PHnllVfC7nfyHp84cULGjx9vNuUrLS2VSZMmyalTp9y9EK1+wvlefPFFo02bNsZ//Md/GDt37jTuuOMOo7S01Dh8+HCmX5pvjBw50njuueeMjz76yNixY4fx/e9/3+jdu7dx6tSp4Dn/9E//ZFRUVBjr16833nvvPeM73/mOceWVV2b0dfvJu+++a/Tt29f4xje+YUybNi14nPfdeydOnDD69Olj3HbbbcbWrVuNTz/91HjjjTeM//3f/w2es3DhQqOkpMR45ZVXjPfff9/4h3/4B6Nfv37Gl19+mdHXnsvmz59vlJWVGWvWrDHq6uqMlStXGh07djSeeOKJ4Dm878l7/fXXjQceeMB46aWXNC0aL7/8ctj9Tt7j6667zvjmN79p/P73vzfeeust42/+5m+MsWPHunodhJoo/u7v/s646667grfPnj1r9OjRw1iwYEFGX5efHTlyxPzHsGnTJvN2fX290bp1a/OHkOXjjz82z9myZUsGX6k/nDx50qisrDTWrVtn/P3f/30w1PC+p8Z9991nXH311VHvb2lpMbp162Y89thjwWP6Z1FUVGTU1NSk6VX6z6hRo4yf/vSnYcduuukmY/z48ebXvO/eiww1Tt7jXbt2mY/btm1b8Jy1a9caBQUFxoEDBxx/b6afbHz11Veyfft2c3gsdC8pvb1ly5aMvjY/a2hoMK87depkXuufwZkzZ8L+HPr37y+9e/fmz8EDOr00atSosPdX8b6nxquvvipDhgyRm2++2ZxuHTx4sDz77LPB++vq6uTQoUNh77vuf6NT37zvibvyyitl/fr18sknn5i333//fdm8ebNcf/315m3e99Rz8h7rtU456b8Ri56vn71bt251/L18u6FlMo4dO2bOw5aXl4cd19t//OMfM/a6/Ex3Vdc1HVdddZUMHDjQPKb/CNq0aWP+RY/8c9D7kLgXX3xR/vCHP8i2bdvOu4/3PTU+/fRTeeqpp2TmzJnyz//8z+Z7f/fdd5vv9cSJE4Pvrd3PHd73xN1///3mztAazC+44ALzZ/v8+fPNtRuK9z31nLzHeq1hP1RhYaH5S66bPwdCDbJm1OCjjz4yf4NCau3fv1+mTZsm69atMxfBI33BXX8LffTRR83bOlKjf+effvppM9QgNVasWCHLly+X6upq+frXvy47duwwf4HSBa287/7D9JONzp07m4k+stpDb3fr1i1jr8uvpk6dKmvWrJHa2lrp1atX8Li+1zoVWF9fH3Y+fw7J0emlI0eOyOWXX27+JqSXTZs2yZIlS8yv9bcn3nfvadXHpZdeGnZswIABsm/fPvNr673l54637r33XnO0ZsyYMWa12a233iozZswwqy8V73vqOXmP9Vp/LoVqbm42K6Lc/DkQamzocPC3vvUtcx429LcsvT106NCMvjY/0fVkGmhefvll2bBhg1lyGUr/DFq3bh3256Al3/ohwJ9D4oYPHy4ffvih+RurddERBB2Ot77mffeeTq1GtizQdR59+vQxv9a///rDO/R912kTXU/A+564L774wlyXEUp/adWf6Yr3PfWcvMd6rb9I6S9dFv1c0D8nXXvjmGfLnX1Y0q0rs59//nlzVfbkyZPNku5Dhw5l+qX5xp133mmW+G3cuNH4/PPPg5cvvvgirLRYy7w3bNhglhYPHTrUvMBbodVPivc9NeXzhYWFZonxnj17jOXLlxvt27c3li1bFlb2qj9nVq9ebXzwwQdGVVUVpcVJmjhxotGzZ89gSbeWHHfu3Nn4xS9+ETyH992basr/+Z//MS8aLX71q1+ZX//pT39y/B5rSffgwYPNlgebN282qzMp6fbQr3/9a/MHu/ar0RJvrZ2Hd/Qvvt1Fe9dY9C/8lClTjIsuusj8ALjxxhvN4IPUhhre99R47bXXjIEDB5q/MPXv39945plnwu7X0tfZs2cb5eXl5jnDhw83du/enbHX6weNjY3m3239Wd62bVvja1/7mtlPpampKXgO73vyamtrbX+ea6h0+h4fP37cDDHaR6i4uNi4/fbbzbDkRoH+x9uBJgAAgPRjTQ0AAPAFQg0AAPAFQg0AAPAFQg0AAPAFQg0AAPAFQg0AAPAFQg0AAPAFQg0AAPAFQg0AAPAFQg0AAPAFQg0AAPAFQg0AABA/+H9+aRISim9gAwAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 9
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T03:32:11.826941Z",
     "start_time": "2025-07-16T03:32:11.668158Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(x_hat, y_hat, color='b')\n",
    "plt.show()"
   ],
   "id": "bef77af4d3379a6b",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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JUONBo/U78diVQAAYhxGlAYAuz4euSxYvfpqkc99TmTw4GQFTWlp55GY9D4jqYEFAIA4y2maZsWKFVJdXS09evSQkSNHyq5duzKe//jjj8sZZ5xhnH/WWWfJ5s2bJcxy6X66Zo3I8uUidXXJQJLaWl4Dx759yUZma9cmn7WxGkEEAIAcwsj69etl7ty5smjRItmzZ4+cc845Mn78eHn//fctz3/hhRdk8uTJcs0118jf/vY3mThxovF4+eWXpdhLgO1Y7b5rjsRMnsxiVQAA8moHryMh5513nizXYQDRvVk6pKqqSm688UaZN29el/NramrkyJEj8rvf/e7Ysa997WsybNgwefDBB31tB++2bbxdCbAT2VrLAwAQdYcd3r9djYwcPXpUdu/eLePGjTv+Dbp1M17v3LnT8ho9nnq+0pEUu/NVW1ub8QdIfYSlBNgpdt8FAMAZV2GktbVV2tvbpbKystNxfd3U1GR5jR53c75aunSpkaTMh468hKUE2C123wUAoAj7jMyfP98Y0jEfB3SIIQCpC09107tcRkryXX8CAEDUuSrtraiokO7du0tzc3On4/q6f//+ltfocTfnq7KyMuMRBubCU31oL5L0El077L4LAEABRkZKS0tl+PDhsi1lsxZdwKqvR40aZXmNHk89Xz377LO254dZeonukiXOW8sDAACPmp5pWe+0adNkxIgRcv7558uyZcuMapnp06cbX586daoMGjTIWPehbrrpJrnooovkF7/4hVx66aWybt06+etf/yqrVq2SKDRLGzqUhmYAAPgaRrRUt6WlRRYuXGgsQtUS3S1bthxbpLp//36jwsY0evRoWbt2rSxYsEBuueUWGTJkiDz99NMyVO/iMWgtDwAAPO4zEgS/+4wAAICQ9hkBAADwGmEEAAAEijACAAACRRgBAACBIowAAIBAEUYAAECgCCMAACBQhBEAABAowggAACiudvBBMJvEaic3AABQHMz7drZm70URRj766CPjuaqqKui3AgAAcriPa1v4ot6bpqOjQ95991055ZRTpKSkxNPEpgHnwIED7HlTQHzO/uGz9gefsz/4nIv/c9aIoUFk4MCBnTbRLcqREf0DnHrqqQX7/vrh8xe98Pic/cNn7Q8+Z3/wORf355xpRMTEAlYAABAowggAAAhUrMNIWVmZLFq0yHhG4fA5+4fP2h98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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 10
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## Z-Score 标准化\n",
    "也能保持数据分布的形状，但相比Min-Max而言，对异常值没那么敏感，但不保证数值在[0,1]"
   ],
   "id": "8f63adaabbd579de"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T06:08:20.061369Z",
     "start_time": "2025-07-16T06:08:20.035250Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x = np.random.randint(1, 100, 100)\n",
    "# 异常值测试\n",
    "# x = np.append(x, 10000)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "print(x[:5])\n",
    "print(y[:5])\n",
    "\n",
    "x_hat = (x - np.mean(x)) / np.std(x) #x减去平均值再除以标准差\n",
    "y_hat = (y - np.mean(y)) / np.std(y) #y减去平均值再除以标准差\n",
    "print(x_hat[:5]) #呈现标准正态分布\n",
    "print(y_hat[:5]) #呈现标准正态分布"
   ],
   "id": "cc5b6d7305c97de6",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[11 87 45 55 36]\n",
      "[149 927 459 629 380]\n",
      "[-1.36450621  1.32069504 -0.16323197  0.19008398 -0.48121633]\n",
      "[-1.40054711  1.35660282 -0.30193981  0.30052225 -0.58190748]\n"
     ]
    }
   ],
   "execution_count": 13
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T06:08:22.367434Z",
     "start_time": "2025-07-16T06:08:21.740883Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(x, y, color='r')\n",
    "plt.show()"
   ],
   "id": "7499d127a7626f28",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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unVrTq+5GOj4mSlTpkinTp3M+3rmmWfKPffcEzVPh/feG2vWrJErr7zSdMrV3y3PP/981PNO3mftlD9s2DDT3E6bzl533XVy6NAhdxdiBdBTTz1l1alTx/rd735nbd682Ro1apTVtGlTa9euXbm+tKLRv39/6/HHH7c2bdpkvfPOO9bll19udejQwTp06FD4nF/+8pdWWVmZtWLFCuutt96yvv/971vnn39+Tq+72Kxfv97q2LGj9e1vf9saP358+HHee39UVlZaZ5xxhvWzn/3MWrdunfXJJ59Yr7zyivXxxx+Hz5kxY4bVpEkT6/nnn7feffdd69/+7d+sTp06Wf/3f/+X02svdPfdd59VWlpqLV261KqoqLCeeeYZq1GjRtbDDz8cPof33hsvvfSSdccdd1h/+MMfNDq0nnvuuajnnbzPl156qXXOOedYb775pvXaa69Z//iP/2gNGTLE1XUEMoD53ve+Z40dOzZ8fPLkSatdu3bW9OnTc3pdxWz37t3mP/RXX33VHO/fv9+qXbu2+SVj++CDD8w5a9euzeGVFo+DBw9anTt3tpYvX2798z//cziA4b33z2233WZdeOGFCZ+vrq622rRpYz3wwAPhx/Tvo27dutbixYuzdJXF6YorrrB+/vOfRz121VVXWcOGDTNf8977IzaAcfI+v//+++b7NmzYED5n2bJlVklJibVjxw7HPztwW0jHjh2TjRs3miUtW40aNczx2rVrc3ptxezAgQPmvnnz5uZe/w6OHz8e9ffQpUsX6dChA38PHtEtoiuuuCLqPVa89/754x//aLqH/+QnPzFbp+eee64sWLAg/HxFRYVpzBn53uvMF93G5r3PzPnnn2/GzXz00Ufm+N1335XXX39dLrvsMnPMe58dTt5nvddtI/3/ik3P18/idevWFX4nXr/s3bvX7JXGdvTV4w8//DBn11XMdI6V5l9ccMEFcvbZZ5vH9D9wnXkVO3BT/x70OWTmqaeekrfffls2bNhwynO89/755JNP5LHHHjOjUH71q1+Z9//GG28077eORrHf33i/f3jvM3P77bebyccajOswYP09f99995k8C8V7nx1O3me91wA/Uq1atcw/cN38XQQugEFuVgI2bdpk/jUE/+nY+vHjx8vy5ctNkjqyG6zrvyrvv/9+c6wrMPrf/rx580wAA/8sWbJEFi1aJOXl5fKtb31L3nnnHfMPJ0005b0vToHbQmrRooWJzmMrLvS4TZs2ObuuYjVu3DhZunSprFq1Sk4//fTw4/pe63be/v37o87n7yFzukW0e/du+c53vmP+VaO3V199VebMmWO+1n8J8d77Q6suunXrFvVY165d5bPPPjNf2+8vv3+8N2nSJLMKM3jwYFP5dc0118jEiRNNRaTivc8OJ++z3uvvqEgnTpwwlUlu/i4CF8DoUu55551n9koj/9Wkx717987ptRUTze3S4OW5556TlStXmtLGSPp3ULt27ai/By2z1l/0/D1kpm/fvvLee++Zf4HaN10V0KV0+2vee3/oNmlsuwDNyTjjjDPM1/r/A/0FHfne67aH7vvz3mfmq6++MjkUkfQfq/r7XfHeZ4eT91nv9R9Q+o8tm35O6N+V5so4ZgW0jFozohcuXGiyoUePHm3KqHfu3JnrSysa119/vSmjW716tfXll1+Gb1999VVUKa+WVq9cudKU8vbu3dvc4L3IKiTFe+9f2XqtWrVMSe/WrVutRYsWWQ0aNLCefPLJqBJT/X3zwgsvWH/961+tAQMGUMrrgREjRljt27cPl1FriW+LFi2sW2+9NXwO7713FY5/+ctfzE3DiFmzZpmvP/30U8fvs5ZRn3vuuabdwOuvv24qJimjdug3v/mN+QWu/WC0rFpr0eEd/Y863k17w9j0P+YxY8ZYzZo1M7/kf/SjH5kgB/4HMLz3/nnxxRets88+2/wjqUuXLtb8+fOjntcy0ylTplitW7c25/Tt29fasmVLzq63WFRVVZn/xvX3er169ax/+Id/ML1Kjh49Gj6H994bq1ativv7XYNIp+/zvn37TMCivXoaN25sXXvttSYwcqNE/8fbBSQAAAB/BS4HBgAAFD4CGAAAUHAIYAAAQMEhgAEAAAWHAAYAABQcAhgAAFBwCGAAAEDBIYABAAAFhwAGAAAUHAIYAABQcAhgAABAwSGAAQAAUmj+HyBzGDS/+UhTAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 14
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T06:08:24.563255Z",
     "start_time": "2025-07-16T06:08:24.384040Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(x_hat, y_hat, color='b')\n",
    "plt.show()"
   ],
   "id": "65520ae64c8309a0",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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FwhoN13ltJTY6URn7bni9VaO207AAJDv5zel0kAI5hF5VaWkKyLKywCDkmcAhca2ERCybrr5VCk99lj2UQMAEHQEL0CReJmnoisp2ap/8gmOACBICF6AIin0PKLU5/YjiRcACoHgBSgSL+cRaYCTbdZQIYMjAPATwQtQJF7OI8pn4KJXwxoBoFAIXoAi8XIeUT4DF70a1ggAhULwAoSwm67bQCgdhjUCCCuCFyAA3XR79Gh5XLvW2nXTdRsIpeM2OAKA2AQvhw8fluuvv97slNexY0eZPHmyHD16NONjRo4cKSUlJS0ut912m58vEyg6NysmbscKaAl1ahl1plEDABDr8QDjxo2TvXv3yuOPPy7/93//JzfffLN86UtfkiVLlmQMXs477zx54IEHmo916NDBcat/xgMgjE3qUv8vtIKZXAKMfEcNAEAxuPn89i142bRpk5x//vnyzjvvyCWXXGIeW7FihVxxxRWye/du6ZG6Tp4UvAwePFge0fXsHBC8ICw0yNBOt3a9XjSA0RWS2loCDQDR1+Di89u3baO1a9eaW0VW4KLGjBkjrVq1knXr1mV87LPPPiudO3eWCy+8UGbNmiWffvqp7bnHjx83v+HkCxAGxWxSBwBh5ttgxn379kmXLl1afrE2baRTp07mfXYmTZok5557rrky8/7778t3v/td2bJliyyz6WM+b948mTt3ruevHwhTkzoAiBPXwcvMmTPloYceyrpllKupU6c2//miiy6S7t27y+jRo2X79u3St2/fU87XlZnp06c339aVl55a/wnEqEkdAMSJ6+BlxowZctNNN2U8p0+fPtKtWzc5cOBAi+N//vOfzQokvc+p4cOHm9fbtm1LG7yUlpaaFyBsrN4sOiQxXeaZlfNCHxYAyDN4qaioMC/ZjBgxQo4cOSIbNmyQYcOGmcdWrVolTU1NzQGJExs3bjSvdQUGiBKrN4tWG2mgkhzAWNVGU6aIPP88FUIAUNBS6f3798uiRYuaS6U1gdcqld6zZ4+5JfTMM8/IpZdeam4N6X1akXTWWWeZOS933nmnnH322fK///u/jr4m1UYIG03nmjatZfKu1ZclediirsJosENvFgBRFIhqI6tqaODAgWaAogHJV77yFXniiSea79eARpNxrWqitm3bymuvvSaXXXaZ+Tjdorrmmmvkf/7nf/x8mUBRaTCy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+ty2PsdjFbx88skn5nXPnj2L/VIAAEAOn+Pl5eUZzykxnIQ4IdLU1CQff/yxnHHGGVJSUiJBjzI1yNq1a5eUlZVJnPFenMR7cRLvxUm8Fy3xfkTvvdBwRAOXHj16SKtWreK18qLf8Nlnny1hoj9sYf6B8xLvxUm8FyfxXpzEe9ES70e03otsKy4WEnYBAECoELwAAIBQIXgpotLSUpkzZ455HXe8FyfxXpzEe3ES70VLvB/xfi8il7ALAACijZUXAAAQKgQvAAAgVAheAABAqBC8AACAUCF4KaAHH3xQKisrpUOHDtKxY0dHj7npppvMTsHJl8svv1zi+F5obvns2bOle/fu0r59exkzZoxs3bpVouDw4cNy/fXXmw2m9P2YPHmyHD16NONjRo4cecrPxm233SZhs3DhQunVq5e0a9dOhg8fLm+//XbG81944QUZOHCgef5FF10kL730kkSFm/di8eLFp/z96+Oi4PXXX5errrrK7LSq39fy5cuzPqampkaGDh1qVtz069fPfH/i+F7U1NSc8nOhl3379kmUELwU0IkTJ+Sb3/ym3H777a4ep8HK3r17my9Lly6VOL4XDz/8sDz66KOyaNEiWbdunfzVX/2VjB07Vj7//HMJOw1cPvzwQ3n11VflxRdfNH9hTZ06NevjbrnllhY/G/oehclzzz0n06dPN8s83333XRk0aJD5d3rgwIG0569Zs0YmTpxoBnfvvfeejB8/3rz8/ve/l7Bz+14oDXaT//4/+ugjiYJjx46Z378Gc07U1tbKlVdeKaNGjZKNGzdKdXW1TJkyRV5++WWJ23th2bJlS4ufjS5dukikaKk0CutnP/uZUV5e7ujcb33rW0ZVVZUR9/eiqanJ6Natm/GDH/yg+diRI0eM0tJSY+nSpUaY/eEPf9B2BcY777zTfOy3v/2tUVJSYuzZs8f2cV/96leNadOmGWF26aWXGv/0T//UfLuxsdHo0aOHMW/evLTnX3vttcaVV17Z4tjw4cONW2+91Qg7t++Fm98jYab/b/z617/OeM4999xjXHDBBS2OXXfddcbYsWONuL0Xq1evNs/705/+ZEQZKy8hoMuAGjUPGDDAXKk4dOiQxI3+y0qXPXWrKHkGhi6tr127VsJMX79uFV1yySXNx/T71DldusKUybPPPiudO3eWCy+8UGbNmiWffvqphGn1bcOGDS3+TvV71tt2f6d6PPl8pasTYf8ZyOW9ULq1eO6555pD+aqqqszVuziK6s9FPgYPHmxusX/961+Xt956S6ImcoMZo0a3jK6++mrp3bu3bN++Xe69914ZN26c+T9l69atJS6s/dquXbu2OK63w76Xq68/dUm3TZs20qlTp4zf26RJk8wPLt0Lf//99+W73/2uuVS8bNkyCYODBw9KY2Nj2r/TzZs3p32Mvh9R/BnI5b3Qf8z89Kc/lYsvvljq6+tl/vz5Zh6ZBjBhG06bL7ufC522/Nlnn5k5cnHRvXt3c2td/zF0/Phxeeqpp8z8OP2HkOYERQXBS55mzpwpDz30UMZzNm3aZCYY5mLChAnNf9bkRP1F1bdvX3M1ZvTo0RKn9yJsnL4fuUrOidGfDf2lpT8TGuTqzwiibcSIEebFooHLF7/4RXn88cflX//1X4v62lA8AwYMMC/JPxf6O2HBggXy85//XKKC4CVPM2bMMCuCMunTp49nX0+fS7cJtm3bFrjgxc/3olu3bub1/v37zQ9pi97W5dEgcvp+6PeWmpT55z//2axAsr5vJ3QLTenPRhiCF/051tVD/TtMprftvm897ub8sMjlvUh12mmnyZAhQ8y//7ix+7nQhOY4rbrYufTSS+XNN9+UKCF4yVNFRYV5KZTdu3ebOS/JH+BxeC9020x/Qa1cubI5WNElYV0KdVu9FbT3Q//1fOTIETPnYdiwYeaxVatWSVNTU3NA4oRWWagg/myk07ZtW/P71b9TrRhS+j3r7TvuuMP2vdL7tZrEohVaySsQYZTLe5FKt50++OADueKKKyRu9O8/tWQ+Cj8XXtm4cWNofi84VuyM4Tj56KOPjPfee8+YO3eucfrpp5t/1ssnn3zSfM6AAQOMZcuWmX/W43fddZexdu1ao7a21njttdeMoUOHGv379zc+//xzI07vhfr3f/93o2PHjsZ///d/G++//75ZhdW7d2/js88+M8Lu8ssvN4YMGWKsW7fOePPNN82/44kTJzbfv3v3bvP90PvVtm3bjAceeMBYv369+bOh70mfPn2Mv/3bvzXC5L/+67/MirHFixebVVdTp041/4737dtn3v8P//APxsyZM5vPf+utt4w2bdoY8+fPNzZt2mTMmTPHOO2004wPPvjACDu374X+v/Pyyy8b27dvNzZs2GBMmDDBaNeunfHhhx8aYae/B6zfCfox9aMf/cj8s/7eUPo+6Pth+eMf/2h06NDBuPvuu82fi4ULFxqtW7c2VqxYYcTtvViwYIGxfPlyY+vWreb/F1qR2KpVK/PzI0oIXgpIy571hy/1oqVtFr2tJZDq008/NS677DKjoqLC/AV97rnnGrfcckvzL7M4vRdWufT3vvc9o2vXruYv+dGjRxtbtmwxouDQoUNmsKKBXFlZmXHzzTe3COQ0QEl+f3bu3GkGKp06dTLfi379+pm/uOvr642w+c///E/jnHPOMdq2bWuWC//ud79rUQ6uPyvJnn/+eeO8884zz9fy2N/85jdGVLh5L6qrq5vP1f8nrrjiCuPdd981osAq9029WN+/Xuv7kfqYwYMHm++HBvLJvzvi9F489NBDRt++fc1AVn8/jBw50li1apURNSX6n2Kv/gAAADhFnxcAABAqBC8AACBUCF4AAECoELwAAIBQIXgBAAChQvACAABCheAFAACECsELAAAIFYIXAAAQKgQvAAAgVAheAABAqBC8AAAACZP/By4dU7abO2r7AAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 15
  },
  {
   "cell_type": "markdown",
   "id": "6edf8f6b7b6047b8",
   "metadata": {},
   "source": [
    "## 偏置bias\n",
    "\n",
    "我们现在样本数据正好是穿过了坐标0点，如果我们修改一下样本数据"
   ]
  },
  {
   "cell_type": "code",
   "id": "50d8d558de00fe28",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T04:21:41.274232Z",
     "start_time": "2025-07-16T04:21:41.222369Z"
    }
   },
   "source": [
    "x = np.random.randint(1, 100, 100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "y = np.array(y) + 100\n",
    "\n",
    "print(x[:5])\n",
    "print(y[:5])"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[91  8  3 79 11]\n",
      "[1090  269  173  948  264]\n"
     ]
    }
   ],
   "execution_count": 19
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T04:22:04.940590Z",
     "start_time": "2025-07-16T04:22:04.681443Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.ylim(0, 1000)\n",
    "plt.scatter(x, y)  # 拟合\n",
    "plt.show()"
   ],
   "id": "99b6b5ce54fb7d76",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAGiCAYAAAD5t/y6AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAANSRJREFUeJzt3Qt0VOW5//EnQAgQSMKlJKDcqpwCgiKgEqEXBUWlVir1LBSVVhaeKliBVoVToVW0KK7jhcqBai94jlCs/yVeaLVF8EDRcBHECyhSRaFooFySSJAQYP/X8+oeZ4a57JnZc9l7vp+10snM3plsNpb88r7P+7wFlmVZAgAA4CFNsn0BAAAAiSLAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAA/weY1atXy+WXXy6dO3eWgoICefbZZ0OO684EM2fOlE6dOknLli1l+PDhsn379pBzDhw4IGPHjpWSkhIpKyuT8ePHy6FDh0LOeeutt+Sb3/ymtGjRQrp06SJz5sxJ9s8IAADyPcDU19fLWWedJfPmzYt4XIPG3LlzZcGCBbJu3TopLi6WESNGyJEjRwLnaHjZsmWLLF++XJYtW2ZC0Y033hg4XldXJxdffLF069ZNNm7cKA888ID88pe/lMceeyzZPycAAPCRglQ2c9QRmKVLl8qoUaPMc30rHZn56U9/Kj/72c/Ma7W1tVJeXi4LFy6UMWPGyLvvvit9+vSRDRs2yKBBg8w5L730klx22WXyz3/+03z9/Pnz5ec//7lUV1dL8+bNzTnTpk0zoz3vvfeeO39yAADgWc3cfLMdO3aY0KHTRrbS0lI577zzpKqqygQYfdRpIzu8KD2/SZMmZsTm+9//vjnnW9/6ViC8KB3Fuf/+++XgwYPStm3bk753Q0OD+bCdOHHCTFW1b9/eBC0AAJD7dDDks88+MwMamg0yEmA0vCgdcQmmz+1j+tixY8fQi2jWTNq1axdyTo8ePU56D/tYpAAze/Zsueuuu9z84wAAgCzZtWuXnHrqqZkJMNk0ffp0mTp1auC5Tl117drV3AAtFgYAIJLlW6vlvhffkz11X43iR6Pj+R1LiuRvU74tTZvEHt0/fsKSix9a5eh9E31vP9M6WF2806ZNm5jnuRpgKioqzOOePXvMKiSbPu/fv3/gnL1794Z83bFjx8x0j/31+qhfE8x+bp8TrqioyHyE0/BCgAEARDN6cImMOrenrN9xQF79xz559JV/xDz/Xw0i7+0/JpWntY95XtUH++VfDU2lSVGruNdgx5VZVw2QtmWlCV2/X8Ur/3C1D4xO+2jAWLFiRUiS0tqWyspK81wfa2pqzOoi28qVK03NitbK2OfoyqTGxsbAObpi6Rvf+EbE6SMAAFKhIx4aSHqWt3Z0/t7Pjrhyjq2itIXMv3aAXNL3q1/+Ie4GGO3XsnnzZvNhF+7q5zt37jRpafLkyXLPPffI888/L2+//bZcf/31phDHXqnUu3dvueSSS2TChAmyfv16efXVV2XSpEmmwFfPU9dcc40p4NX+MLrc+qmnnpJHHnkkZIoIAAC3dSgucu28jm1aOHqvGSN7y5o7LiS8JCjhKaTXX39dLrjggsBzO1SMGzfOLJW+/fbbTa8Y7euiIy1Dhw41y6S1IZ1t0aJFJrQMGzbMVBiPHj3a9I4JXrn0t7/9TSZOnCgDBw6UDh06mOZ4wb1iAABwXYF7553bo510Km0h1bVHxIryFjry8sMhPfK65iUrfWBymU5daRDSYl5qYAAATjy3ebfcuuSLGYZYHhnTX67of0rc815651O56clN5vPgH7Z2XGHaKPmf3+yFBABAgtM+Ts/TcKIhRUdaglHzkjrfLKMGACBV9rTPp7XRC3D1uJ7nlIaUi/pUmFVOWtir4Ue/nmmj1BBgAAD4koaK753VSX6zekfUc/R4ouHDXuUE9zCFBADwDW0ep/1XtJZFH/V5ol///JufxjxHjyf6vnAfIzAAAF/Qgtm7XtgaMv2j0z2/uLyP41oTneaJNX2k9Liex4hKdjECAwDwPHu1T3j40CXM+roed8Jp87lEmtQhPQgwAABP0+kcHXmJNKljv6bHnUz7uL0KCelDgAEAeLre5aHl22JO+1hB0z5OVyFFK9EtSGIVEtKDGhgAgC/qXdyY9tHVQlozo9NOBVGaz+lxlkBnHyMwAABf1LvEQ/M5f2EEBgDgi3qXaOw9h2g+5y8EGACAZzhZ5hxJMtM+NJ/LbQQYAIBnJLp8WTPLhG/2YNrHh6iBAQB4RqLLly1L5LHVOxz3gYF3EGAAADnRxt+JeMucnfSBycR1Iv2YQgIA5EQbfydiLXN20gem9vOjGblOpB8jMACAnGjj71S0Zc7xvLy1OqPXifQqsCydIfSfuro6KS0tldraWikpKcn25QCAL+n0y9D7V0ZdGWQvYV5zx4WuL0HW762jKq/+41/y6CsfxD2/XXGhHKhvzPh1Ij0/vxmBAQCkbVlzIm38E2Uvc55y0Tfitv9vX9w8anhJ93UiPQgwAICkubF7c6pFtXZdjAoPMfbzK/p3Tvk6kVso4gUAJC3V3ZvdKv6162LC36viy/cqbdlcfv/qR0lfJ3IPAQYAkPKyZi2EtRJs428X/4Z/nV1Um+i+Q7Ha/+uoTrLXidzEFBIAIGlOpm8itfGPtadRpN4tidbFXNH/FPNof99krxO5iwADAEhJMrs3Z6P4l12m/YUpJABAyhLdvdmt4t9Ed4tml2n/IMAAAFyRyO7N2Sz+ZZdpf2AKCQDgCqfLofX1Y8dOxN3PSAdFBnZrm/XOv8hNjMAAAFLmdEQk0nnRaP7Z+PHBkNGSeMW/Gor0uE4TMS3kb4zAAABS4nREJNp5idTAZLPzL3ILAQYAkDSny6GPHjsR9bxEamDcKP6FPzCFBABImtMRkf+t+iihkZdojeVSLf6FfzACAwBImtORjo8PHHb8nrEay9mdf2Nt3KjH6ajrfwQYAEDSnI50dGvXyvF7lpcURW0sR0dd2AgwAJDHUt0JWpc5x8sKevya87rFHDkJFb8ZHR11UWBZVqI1VZ5QV1cnpaWlUltbKyUlJdm+HADIOW7sBK2h5+rH18Y9748TBkvt50fNKiRlOYgv8cJIMp144Z+f34zAAEAecqsZXCKrgqKNnCS7mWO0jRuRHwgwAJBn3NwJOtFVQRpi1txxocwY2Tvm+fRzQTwEGADIM242g0tmVZCOlHRoU+ToWunngmgIMACQZ9xsBpfsqqAOrZ0FGKfnIf8QYAAgz7jdDC6pVUFOl4/4cpkJ3EAnXgDIM/a0jxbsWgl0wY21Akg3T9QPp6uC9tU3OLpWp+ch/xBgACDP2NM+utpI44WVYDM4N5ZfsyUAUsUUEgDkoWSbwcVbfv3Iy9sdNcVjSwCkikZ2AJDHEmkGp+cOvX+l400Z443K2GFIoowC0VU3P9XRyA4AEE8izeDiLb8OF68pHlsCIBXUwAAA0tKTRUdVNA5pvYwW+EYKRxpSEin+BWwEGABA2gpqg5vi6QhPrFEgIBFMIQEAHIlXeBsLHXXhNgIMAMCRWF1342E5NNxGgAEAOOZ0R2kby6GRLtTAAAASEl54+9G+enno5e1JNcUDkkWAAQAkLLzw9hsVbU7qzluRYHdeIBEEGABAylgOjUwjwAAAXMFyaGQSRbwAAMBzGIEBACS9PxKQLQQYAPABt0KH7lsUXowbb1NGIBsIMADgcW6FDnt36OCl0MGbMrLBInIJNTAA4GF26AjfJTreTtCRRnA0BIWHF2W/psf1PCAXEGAAwKPcDB06/RQegqJtygjkAgIMAOQQDRtVH+yX5zbvNo+xwoebocPpZotsyohcQQ0MAHi0lsXN0NGhdZGj93J6HpBujMAAgEdrWZzu8OzoPKelLZTAwK8B5vjx4zJjxgzp0aOHtGzZUk477TSZNWuWWNZX/9Xr5zNnzpROnTqZc4YPHy7bt28PeZ8DBw7I2LFjpaSkRMrKymT8+PFy6NAhty8XADxby6JLpXWEpsCFnaD31Tc4ulan5wGeCzD333+/zJ8/Xx599FF59913zfM5c+bIr3/968A5+nzu3LmyYMECWbdunRQXF8uIESPkyJGvfvPQ8LJlyxZZvny5LFu2TFavXi033nij25cLAFmXbC2L9nnR6SUVHmIS3Qna1dEcwIsB5rXXXpMrrrhCRo4cKd27d5cf/OAHcvHFF8v69esDoy8PP/yw3Hnnnea8M888U/7nf/5HPvnkE3n22WfNORp8XnrpJfntb38r5513ngwdOtQEoCVLlpjzAMBPUqll0dqYG7/VQwrCMoo+19ed9m1xczQH8GSAOf/882XFihXy/vvvm+dvvvmmrFmzRi699FLzfMeOHVJdXW2mjWylpaUmqFRVVZnn+qjTRoMGDQqco+c3adLEjNhE0tDQIHV1dSEfAOCF1USpjH5obcxjq3dI+Nvrc33daR8YN0dzAE+uQpo2bZoJD7169ZKmTZuamph7773XTAkpDS+qvLw85Ov0uX1MHzt27Bh6oc2aSbt27QLnhJs9e7bcddddbv9xACDtq4ns0Q8t2I0UczQyVEQY/YhVO2PT4xf1qXAUPPTatNtu+LXr92YrAfg+wPzpT3+SRYsWyeLFi+WMM86QzZs3y+TJk6Vz584ybtw4SZfp06fL1KlTA881RHXp0iVt3w8A3GjHb+9hdFnfCvndqx+d9H6xRj8SqZ2pPK29o+vXa9PAw2aOyLsAc9ttt5lRmDFjxpjn/fr1k48//tiMkGiAqaioMK/v2bPHrEKy6fP+/fubz/WcvXv3hrzvsWPHzMok++vDFRUVmQ8AyNXVRAVhIyKRRmo0JwRPB8Ua/UhX8zm9NqeBB/BNgDl8+LCpVQmmU0knTpwwn+vyag0hWidjBxYdLdHalptuusk8r6yslJqaGtm4caMMHDjQvLZy5UrzHlorAwC5KJERkdrPj0YcqbE7TtwwpLsJOrFGP1g5hHzmeoC5/PLLTc1L165dzRTSG2+8IQ8++KDccMMN5nhBQYGZUrrnnnukZ8+eJtBo3xidYho1apQ5p3fv3nLJJZfIhAkTzFLrxsZGmTRpkhnV0fMAIBc5Hemorv1c5vx1W8yRmhffqZafj4xdNJts7QzgB64HGF3urIHk5ptvNtNAGjj+4z/+wzSus91+++1SX19v+rroSIsuk9Zl0y1afPVbgtbRaGgZNmyYGdEZPXq06R0DALnK6UjHgfqjrtSu2CuHdCRHw0pwiGHlEPyuwApukesjOi2ly7Nra2tNN18AyEQNzND7V8YdEbn9kl4y5anNcd/vkTH95Yr+p7i+6gnww89vNnMEAJfEGxHR52PO6SIf7P3M1REdVg4hHzECAwAuizQiUtaq0DzWHG6M+/X2SM2aOy4khCDv1DECAwDpYfduiTbaET4i8tG+w/Lwy+872siZ2hXAGQIMACTAab2J3UvFrotxOtRN11vAGQIMAKSpy66T3jC2SRecLkNO70DtCpCtzRwBIB+77Co9Hr5po9PeMD3LW5sRG8IL4AwBBgBc7rIbjG65QHoQYADAgWT3HbK75UYbV9HX9TjdcoHEEGAAwIFkR1Ls3jDRinj1dVYcAYkjwACAA4ykALmFAAMADtgjKaoggd4tdvFvNAVRin8BxEaAAYAYNFhUfbBfntu8W0pbNpd515xterUE0+eTh/+bNBw7Yc4NDiPJFv8CiI0+MAAQo+/LL5/fKtV1XwWQipIWMvO7faRtcfMvu+zWyx/X75SHXn4/YmO7ZIt/AcTGCAwARAkvP35yU0h4Ufr85sWbpPbzo1LUrIk8/PJ2qa5riNjYTt+DZdRAejACAwBhdApo2jNvxzxn+jNvmwATrbGdXduy6rYLzIiMhhorxsaNFP8CiWEEBgDCrP1wf9xdow8ebjxp5CVSbcvGjw8mVfwLIDYCDACE0UJct2hti9bC6D5JkYp/I+2fBCA+ppAA4CTuLWm2a1s0pFzUp8KsNtJQo6+zcSOQPAIMAATVvmjAOGE5CzBtWzWTmsPHHNe2aFjRDRsBpI4AAwBfrjrSottYPVuClbUqlHtH9ZWJi98wYSU4xFDbAqQfNTAA8p6GF1327DS8qPuu7CeXndmZ2hYgSxiBAZDX7Fb/TqteKkqK5JffOyMQTqhtAbKDAAMgr8Vr9W+bdMHpMuT0DhHDCbUtQOYRYADkNact/HuWtyakADmEAAMgr1YYhU/z0Oof8CYCDIC8XGFkb7io9Su0+ge8h1VIAPJyhZG94eLyrdW0+gc8iAADIC9XGNmv6XEdhWE5NOAtTCEByNsVRvaGi3oey6EBbyHAAJB8X2Fkn8dyaMA7mEIC4FusMAL8iwADwLd0CkhXGEWbBNLX9TgrjADvIcAA8C2dEmKFEeBPBBgAvqbFuawwAvyHIl4AvscKI8B/CDAA8gIrjAB/YQoJAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAAB4Do3sALjq+AmLjrcA0o4AA8A1L73zqdz1wlb5tPZI4DXd7Vk3TGTPIQBuYgoJgGvh5aYnN4WEF1Vde8S8rscBwC0EGACuTBvpyIsV4Zj9mh7X8wDADQQYAI5pAKn6YL88t3m3ebQDida8hI+8BNOz9LieBwBuoAYGQMr1LQ3HTjh6Dy3sBQA3MAIDIOX6lo/2HXb0ProqKZMjQwD8ixEYACnVt+gC6SUbdkpFSZHsqWuIeJ6eU1H6xZJqt7HyCchPjMAAiMlpfcvV53Y1z8M7vtjPNVC43Q+GlU9A/iLAAHClbqV7h2KZf+0AM9ISTJ/r626PhrDyCchvTCEBcKVuRc+rPK29XNSnIiOdeBNZ+aTXBcBfCDAAYtIAojUlOi3jpL5Fw0omAoPTkSFWPgH+xBQSgJgre5a99YmMOSfz9S1ujgwB8B9GYAA4WtlT1qrQPNYcbgy8VpHF1T6JjgwB8BcCDICIK3vCQ0Ht4Ubz2pThPU3BbrZ3mtbvq+FJr1WvwMqRkSEAmcEUEoAEe77sku+e2dnUuWQ7HOjITyZXPgHIHYzAAPD0yh4NKZla+QQgdxBgAHh+ZU+mVj4ByB0EGCBPp4oijViwsgdAXtfA7N69W6699lpp3769tGzZUvr16yevv/564LhlWTJz5kzp1KmTOT58+HDZvn17yHscOHBAxo4dKyUlJVJWVibjx4+XQ4cOpeNygbwr0h16/0q5+vG1cuuSzeZRn+vr9sqeaJMv+roeZ2UPAN8FmIMHD8qQIUOksLBQXnzxRdm6dav813/9l7Rt2zZwzpw5c2Tu3LmyYMECWbdunRQXF8uIESPkyJGvhqU1vGzZskWWL18uy5Ytk9WrV8uNN97o9uUCeSXe3kHLt1ablTu51vMFAMIVWDoc4qJp06bJq6++Kn//+98jHtdv17lzZ/npT38qP/vZz8xrtbW1Ul5eLgsXLpQxY8bIu+++K3369JENGzbIoEGDzDkvvfSSXHbZZfLPf/7TfH08dXV1Ulpaat5bR3GAfKfTRjrSEq1I1+6bsuaOC02QYYdnANng9Oe36yMwzz//vAkdV111lXTs2FHOPvtsefzxxwPHd+zYIdXV1WbayKYXet5550lVVZV5ro86bWSHF6XnN2nSxIzYRNLQ0GD+0MEfABJfYfTQ8m1S2rK5rLrtAvnjhMHyyJj+5lGDDeEFQK5wPcB8+OGHMn/+fOnZs6f89a9/lZtuukl+8pOfyBNPPGGOa3hROuISTJ/bx/RRw0+wZs2aSbt27QLnhJs9e7YJQvZHly5d3P6jAZ7mdOXQo698YOpivv3AK1L7+VG5ov8pOdHzBQDSGmBOnDghAwYMkF/96ldm9EXrViZMmGDqXdJp+vTpZrjJ/ti1a1davx/gNR1aFyV0vl0Xo3UzAOD7AKMri7R+JVjv3r1l586d5vOKigrzuGfPnpBz9Ll9TB/37t0bcvzYsWNmZZJ9TriioiIzVxb8ASCIldzpWguj9TMA4OsAoyuQtm3bFvLa+++/L926dTOf9+jRw4SQFStWBI5rvYrWtlRWVprn+lhTUyMbN24MnLNy5UozuqO1MgASl0zzueDOuwDg60Z2U6ZMkfPPP99MIf37v/+7rF+/Xh577DHzoQoKCmTy5Mlyzz33mDoZDTQzZswwK4tGjRoVGLG55JJLAlNPjY2NMmnSJLNCyckKJAAnN61b9f6/kn6PXOu8CwCuB5hzzjlHli5dampS7r77bhNQHn74YdPXxXb77bdLfX29qY/RkZahQ4eaZdItWnzV3XPRokUmtAwbNsysPho9erTpHQPAOa1fCV8OnQw67wLwfR+YXEEfGOQ7u2ldKv8HD+4NwyokAL7uAwMgN6aNdOQl1fCi6LwLIBexmSOQh03rnNCRFzrvAshVBBjAhxItutVtAmaM7CNti5uftEM1AOQiAgzgQ06LbiddcLoMOb0DYQWA5xBgAB/SQKKjKtpN14pRnDvlon8juADwJIp4AR/SUKL1Kyo8nlCcC8APCDBAjq4iqvpgvzy3ebd5TKaVvxbfzr92gBlpCabP9XWKcwF4GVNIgAeaz3VKckWQnn9RnwqzKoniXAB+QiM7wAPN5+y4wcgJAL+ro5Ed4J/mc+wMDQChCDCAR5rPubkztBs1NgCQTdTAAB5rPpfqztBu1tgAQLYwAgN4rPlc8HmJjqTYNTbhIz3aL0Zf1+MA4AWMwAAeaj7Xrri5VNd+bsLKwfoGmfXndx2PpMSrsdH31+O6aolVSgByHSMwgAeaz9khY3/9UZnypzfl6sfXys2L30hoJCWTNTYAkG4EGCCHRGs+51Ss1UqZqrEBgExgCgnIMA0WsRrLBTefq647IrOWbZED9Y2O3z94JKXytPYp1dgAQK4iwAAZ5HQFkAYaDR9a65JIeIk1kuJ0g0c9DwByHVNIQIYkswIolemc8JEUNngE4CcEGCCHu+wmM52j8aNTlJEUNngE4BdMIQEZkMgKoOC6FQ0hZa0Kpeaws2kkJyMpbPAIwA8IMEAGZGoFUIXDjrp2jQ0AeBUBBsiAZFcA6SiJk9GXSRecJkNO/xojKQDyBjUwQBrZrf61e6520S1IsG7F6YhMz/I2ZkSF8AIgXzACA2RwyXSidSv0bgGAyAgwQBqXTMfeWjF+3Qq9WwAgMgIMkMEl07Z2xYUy47tnSEVJ7BVAdu8WDUN6RvB70rsFQD6jBgbI8JJppd11Nbw4qVuhdwsAnIwRGMADS6aj9W5RWiRMPxcA+YYAA7i8KWO6Cm/De7c43VcJAPyIAAMkIVZ40JGSdBfeRisStvdVYmoJgN9RAwO4vCnj8q3Vad00Mdl9lQDATwgwQBrCg47CpKvwNpF9lQDAr5hCAtIUHtK1aWKm9lUCgFxGgAHSGB7SsWki3XkBgCkkwHPhwe7Om+i+SgDgJwQYwGPhwe7Oa3+/8O+v6M4LwO8IMEACu0ove+sTGXNO15jhQY/reXp+ulYC0Z0XQL4rsCzLl2st6+rqpLS0VGpra6WkpCTblwOf9Xwpa1VoHmsONwZea9uq0BTxBr+W7sZy0ZrpAYDff34TYIAkGsbZGytOGd5Tuncolo/21ctDL28/6evtKMGoCAC4+/ObKSQgyZ4vGk6WbNgll/btZB4jobEcAKQHAQZIsefL/1Z9RGM5AMgwAgyQYs+Xjw8cdvX9AADxEWCAFHu5dGvXytX3AwDER4ABUuz5cl1l96z3hgGAfEOAAVJsGNe8WRMaywFAhhFgABcaxtFYDgAyiz4wgIsN42gsBwCZ+fnNbtSAA053lU7H7tMAgJMxhQQAADyHERggSUwXAUD2EGAAlzZ4TPfGjQCArzCFBCS5wWP49gHVtUfM63ocAJBeBBjAxQ0eFRs3AkD6EWCANGzwyMaNAJBeBBggAU43ZGTjRgBIL4p44RuZWBXkdENGNm4EgPQiwMC3q4IqSork6nO7SvcOxa4FGnuDRy3YjVTlUvDl9gFs3AgA6UWAgW9WBYUHiuq6Bnno5e1JLXOONppjb/Co30/DSvD3ZONGAMgc9kKCp2nQGHr/ypiFtTY7UsTbXNFJjxf6wABAdn9+E2DgaVUf7JerH1/r+Hx7imfNHRdGHCWJNpoTKfzQiRcA3MdmjvA1Ozy8mGDTuOBlzuGbLsbr8aLRRI9f1KciMJ3Exo0AkB0EGOS88JGOg/VHZdafQ6dvEhVpmXMiPV4ILgDg8z4w9913nxQUFMjkyZMDrx05ckQmTpwo7du3l9atW8vo0aNlz549IV+3c+dOGTlypLRq1Uo6duwot912mxw7dizdl4sco1M6WuOi00S3LtlsHm9efHIb/0RFWuZMjxcA8I60BpgNGzbIb37zGznzzDNDXp8yZYq88MIL8vTTT8uqVavkk08+kSuvvDJw/Pjx4ya8HD16VF577TV54oknZOHChTJz5sx0Xi48sudQKgq+LLaNtMyZHi8A4B1pCzCHDh2SsWPHyuOPPy5t27YNvK5FOb/73e/kwQcflAsvvFAGDhwof/jDH0xQWbv2i2LMv/3tb7J161Z58sknpX///nLppZfKrFmzZN68eSbURNLQ0GAKf4I/4F2x6lGSFW+Zs93jpSCJ8AMA8EmA0SkiHUUZPnx4yOsbN26UxsbGkNd79eolXbt2laqqKvNcH/v16yfl5eWBc0aMGGFCyZYtWyJ+v9mzZ5uqZfujS5cu6fqjIYVQoquGntu82zzG2vAwXj1KMnT1Uawl1HaPFxUeYujxAgB5UMS7ZMkS2bRpk5lCClddXS3NmzeXsrKykNc1rOgx+5zg8GIft49FMn36dJk6dWrguYYdQkzuSLRvipt1JmWtCmXe1QNk8Gnt44YPvRYNOSd19aXHCwD4O8Ds2rVLbr31Vlm+fLm0aJG5WoGioiLzAQ91yq09Yl6PNCriZp1JzeFGafLlsmcn9Fp0qTQ9XgAgj6aQdIpo7969MmDAAGnWrJn50ELduXPnms91JEXrWGpqakK+TlchVVRUmM/1MXxVkv3cPgfeEK+3itLjwdNJ+vkJy5KyloWuXUeiIzp2j5cr+p9iHgkvAODzADNs2DB5++23ZfPmzYGPQYMGmYJe+/PCwkJZsWJF4Gu2bdtmlk1XVlaa5/qo76FByKYjOtqRr0+fL2oU4A2J9FYJXjY99rfrpObzRteug5VDAOAvrk8htWnTRvr27RvyWnFxsen5Yr8+fvx4U6/Srl07E0puueUWE1oGDx5sjl988cUmqFx33XUyZ84cU/dy5513msJgpom8JZHeKtGmmsJp7cyMkb2lbXGRVNd+LrP+/K5pbsfu0ACQP7LSifehhx6SJk2amAZ2uvxZVxj993//d+B406ZNZdmyZXLTTTeZYKMBaNy4cXL33Xdn43KRgZGPDsVF8rP/92bM8BKtGLdl86bsDg0AeYbNHJGR3aK1YDfaf2jtigvl6nO7yrxXPoj7fn+cMDhiG392hwYAf2AzR+QEu7dKpBES24H6RkfhJdaUFCuHACC/EGCQdtF6q7g9JcXu0ACQPwgwyIjgERK78PZAfeRtISKhGBcAkNHdqIHwEZKK0pYJhxdFMS4AwMYIDDIu0aZytPEHAIQjwCBnl1ZPuuA0GXL61yjGBQCchAAD15ZLO10BpMd0iXO0pdV2vcuUi75BcAEARESAQcoS7cESa2k19S4AACco4kVK7Pb/4cuj7Z2m9XispdU60hJMn0fanRoAgGCMwCBtO03r+Ike1+XTkUZTaD4HAEgWAQYZ2Wk6WoM5ms8BAJLBFBIystM0AABuIsAg7cuhnZ4HAIBTBBgkzV4OHa1iRV/X47T/BwC4jQCDpNnLoVV4iGE5NAAgnQgwSAnLoQEA2cAqJKSM5dAAgEwjwMC1bQNYDg0AyBQCDNK6bQAAAOlADQzSvm0AAABuI8DAlW0DlB7X8wAASDcCDFzfNgAAgHSjBibPCm2T/Tq2DQAA5BICjA8lW2gb6+vYNgAAkEuYQvKZZAtt433dwfoGKWtVGPN763G2DQAAZAIBxkeSLbR18nV3L9sa9/vTtg4AkCkEGB9JttDWyddV1zVIzeHGmN//4OHGkPfWYFT1wX55bvNu88gKJQCAW6iB8ZFkC23dLLy134uGdwCAdGIExkeSLbR1s/BW34uGdwCAdCPA+IgW0OooR7RaFH1dj4cX2jr5uoqSIqkoif/eA7u1peEdACDtCDA+ov1adIpGhQcN+7keD+8H4+Trfvm9M+SX34v/3hs/PkjDOwBA2hFgfEbrS+ZfO0AqSkOnhfS5vh5cfxJcZFvasrnMu+bsmF8X673nXTPAvMeLDqeHaHgHAEgFRbw+pEHjoj4VMTvxRiuynTGyj7Qtbh716yK9t/aImfXn0PeKh4Z3AIBUEGB8SkNH5WntIx6zi2zDq1C0yPbmxZtkyvCe0r1DsaP31veauPiNiDUvUetpItThAACQCAJMnnHStO6hl7c7Wvoc670iiVWHAwBAIqiByTPxmtaFi7X0OdH3ilSHAwBAMhiB8cEO0olItHhWR1f0CnSkRWtfgq/H6XtdX9lNLu3bKS1/HgBAfiLA5IhMda5Npng2eOlzcF2N0/fS8BKtHgcAgGQwhZQDUu1cm8ieQ/Ga1sUSPuKSbOM8AABSxQhMjhfVRpu+SXbkxm5ap8FI3y2RfrjhIy6x3ouCXQBAOjEC49EdpFMZuYnWkE6SGElJpHEeAABuYQTGoztIpzpyE96Q7qN9h+Xhl98PfH0iIylOGucBAOAmAoxHd5BOZOQmWgFteLO7b1S0Pmk6qsJhIXGsxnkAALiNAJNldiGsTvtYCXSuTXbkJhZGUgAAXkGAybJkC2GTHblxcj2MpAAAch1FvB7dQbq67oi0Ky6M+p4sYQYA+BkjMB7fQToSljADAPyOAJNDWwQks4N0JE4LbwEA8CoCjAe2CIi367NGoXbFzeXOkb2lorQlhbcAAN+jBiaHtwhIZMn0/vqjJrzoCA7hBQDgdwSYNInXaE7p8Vj7FqVzyTQAAF5GgMmhLQKibcqYriXTAAB4FTUwaZLoqEmsWhldnZRMszsAAPyKEZg0SWTUJF6tzPKt1SbIqPDqFpZMAwDyEQEmzVsEFMRpNDewW1tHtTI6CsOuzwAAfIEppCxvEbDx44OOa2XYqwgAgC8wApPlLQISrZWxm91d0f8UlkwDAPIWIzBp6KgbLN6oCSuMAABIHAEmAx11Y20RYNfKRFthpHTTRt28UZdWM2UEAIBIgWVZTrbX8Zy6ujopLS2V2tpaKSkpSem9ou1DZMeIVIto9f1//OQmR+cmug0BAAB+/PlNDUwGO+q6IdFtCAAA8CMCTBo66iYTkJzKRmgCACDXEGCyvA9RvICUjtAEAIDXuR5gZs+eLeecc460adNGOnbsKKNGjZJt27aFnHPkyBGZOHGitG/fXlq3bi2jR4+WPXv2hJyzc+dOGTlypLRq1cq8z2233SbHjh2TTEv3KqFUNmBk80YAQL5yPcCsWrXKhJO1a9fK8uXLpbGxUS6++GKpr68PnDNlyhR54YUX5Omnnzbnf/LJJ3LllVcGjh8/ftyEl6NHj8prr70mTzzxhCxcuFBmzpwpudpRN9l9iFJZHs3SagBAvkr7KqR//etfZgRFg8q3vvUtU1X8ta99TRYvXiw/+MEPzDnvvfee9O7dW6qqqmTw4MHy4osvyne/+10TbMrLy805CxYskDvuuMO8X/PmzU/6Pg0NDeYjuIq5S5curq5CkigddVNZhaR1LEPvXxlzGXW0zRvX3HEhS6oBAL6SM6uQ9AJUu3ZfjFBs3LjRjMoMHz48cE6vXr2ka9euJsAofezXr18gvKgRI0aYP9SWLVuiTl3pH9j+0PCSyY66qW45oJxEETZvBAAgzY3sTpw4IZMnT5YhQ4ZI3759zWvV1dVmBKWsrCzkXA0resw+Jzi82MftY5FMnz5dpk6detIIjFvSuQ+RHZDCG+WVtSo0jzWHG0NCE31gAAD5Lq0BRmth3nnnHVmzZo2kW1FRkfnwqmgBSbF5IwAAGQowkyZNkmXLlsnq1avl1FNPDbxeUVFhinNrampCRmF0FZIes89Zv359yPvZq5Tsc7y0lYBT0bYciLYNAQAA+cr1GhitCdbwsnTpUlm5cqX06NEj5PjAgQOlsLBQVqxYEXhNl1nrsunKykrzXB/ffvtt2bt3b+AcXdGkxTx9+nxRL5JJdhFveL8WuuICAOCTERidNtIVRs8995zpBWPXrGhhbcuWLc3j+PHjTb2KFvZqKLnllltMaNEVSEqXXWtQue6662TOnDnmPe68807z3pmeJoq3lYBO5uhxnf5hagcAAI+OwMyfP9+sPPrOd74jnTp1Cnw89dRTgXMeeughs0xaG9jp0mqdFnrmmWcCx5s2bWqmn/RRg821114r119/vdx9993it60EAABADozAOGkr06JFC5k3b575iKZbt27yl7/8Rfy+lQAAAEgceyHF0aF1kavnAQCA1BFg4nHaHpeNoQEAyBgCTBz76htcPQ8AAKSOAJPl3agBAEDiCDAp7kat2hUXSnXdEan6YL9Zdg0AANKLAOPCZosH6htlylOb5erH18qQ+1bQ2A4AgDQjwKSwG3Uk1XUN8mO68wIAkFYFlpPGLR6ku1Fr119tqqfdft2g00PasK669nOZ8dwWOdRwLOq5upP0xjsvojsvAABp+PnNCEwSmy1qwW6s8KJqDjfK2g/2Z+zaAADIJwSYJFR9uM/V8wAAQGIIMElxOi3E9BEAAOlAgEmCTiO5eR4AAEgMASYJg7/e3hTpxtK2VaE5DwAAuI8Ak2Qx731X9ot5zuwr+7ECCQCANCHApNAbZoH2hikJ7Q2jXXv1dT0OAADSo1ma3jcvaEi5qE+F6Q2z97MjZnm1bj3AyAsAAOlFgHGpNwwAAMgcppAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDnEGAAAIDn5HSAmTdvnnTv3l1atGgh5513nqxfvz7blwQAAHJAzgaYp556SqZOnSq/+MUvZNOmTXLWWWfJiBEjZO/evdm+NAAAkGUFlmVZkoN0xOWcc86RRx991Dw/ceKEdOnSRW655RaZNm3aSec3NDSYD1ttba107dpVdu3aJSUlJRm9dgAAkJy6ujrz876mpkZKS0ujntdMctDRo0dl48aNMn369MBrTZo0keHDh0tVVVXEr5k9e7bcddddJ72uNwEAAHjLZ5995r0As2/fPjl+/LiUl5eHvK7P33vvvYhfo2FHp5xsOmJz4MABad++vRQUFERNeIzQZBb3PTu479nBfc8O7ru377tODGl46dy5c8zzcjLAJKOoqMh8BCsrK4v7dXqT+Q8887jv2cF9zw7ue3Zw371732ONvOR0EW+HDh2kadOmsmfPnpDX9XlFRUXWrgsAAOSGnAwwzZs3l4EDB8qKFStCpoT0eWVlZVavDQAAZF/OTiFpPcu4ceNk0KBBcu6558rDDz8s9fX18qMf/ciV99fpJl2iHT7thPTivmcH9z07uO/ZwX3Pj/ues8uolS6hfuCBB6S6ulr69+8vc+fONcurAQBAfsvpAAMAAOCZGhgAAIBYCDAAAMBzCDAAAMBzCDAAAMBz8jbAzJs3T7p37y4tWrQwK5vWr1+f7UvyDd2XSjfibNOmjXTs2FFGjRol27ZtCznnyJEjMnHiRLPVQ+vWrWX06NEnNS5Eau677z6zjcbkyZMDr3Hf02P37t1y7bXXmvvasmVL6devn7z++uuB47pWYubMmdKpUydzXPd12759e1av2et0u5kZM2ZIjx49zD097bTTZNasWeZe27jvqVu9erVcfvnlpq2//nvy7LPPhhx3co91W5+xY8ea7rzaIX/8+PFy6NCh1C/OykNLliyxmjdvbv3+97+3tmzZYk2YMMEqKyuz9uzZk+1L84URI0ZYf/jDH6x33nnH2rx5s3XZZZdZXbt2tQ4dOhQ458c//rHVpUsXa8WKFdbrr79uDR482Dr//POzet1+sn79eqt79+7WmWeead16662B17nv7jtw4IDVrVs364c//KG1bt0668MPP7T++te/Wv/4xz8C59x3331WaWmp9eyzz1pvvvmm9b3vfc/q0aOH9fnnn2f12r3s3nvvtdq3b28tW7bM2rFjh/X0009brVu3th555JHAOdz31P3lL3+xfv7zn1vPPPOMJkNr6dKlIced3ONLLrnEOuuss6y1a9daf//7363TTz/duvrqq1O+trwMMOeee641ceLEwPPjx49bnTt3tmbPnp3V6/KrvXv3mv/wV61aZZ7X1NRYhYWF5h8c27vvvmvOqaqqyuKV+sNnn31m9ezZ01q+fLn17W9/OxBguO/pcccdd1hDhw6NevzEiRNWRUWF9cADDwRe07+LoqIi649//GOGrtJ/Ro4cad1www0hr1155ZXW2LFjzefcd/eFBxgn93jr1q3m6zZs2BA458UXX7QKCgqs3bt3p3Q9eTeFdPToUdm4caMZ5rI1adLEPK+qqsrqtflVbW2teWzXrp151Pvf2NgY8nfQq1cv6dq1K38HLtApopEjR4bcX8V9T4/nn3/edAy/6qqrzJTp2WefLY8//njg+I4dO0wzzuD7rhvV6dQ19z15559/vtle5v333zfP33zzTVmzZo1ceuml5jn3Pf2c3GN91Gkj/f+ITc/Xn7vr1q3z51YC6bJv3z4zd1peXh7yuj5/7733snZdfqV7WGkNxpAhQ6Rv377mNf0PXve7Ct8tXP8O9BiSt2TJEtm0aZNs2LDhpGPc9/T48MMPZf78+Wb7k//8z/809/4nP/mJude6HYp9byP9m8N9T960adOkrq7OhHDd/Ff/Xb/33ntNrYXivqefk3usjxrsgzVr1sz8Qpvq30PeBRhkfjTgnXfeMb8ZIb127dolt956qyxfvtwUpyNzIV1/u/zVr35lnusIjP43v2DBAhNgkB5/+tOfZNGiRbJ48WI544wzZPPmzeaXJS025b7nh7ybQurQoYNJ6+ErL/R5RUVF1q7LjyZNmiTLli2TV155RU499dTA63qfdSqvpqYm5Hz+DlKjU0R79+6VAQMGmN9w9GPVqlVmDzH9XH8r4r67T1df9OnTJ+S13r17y86dO83n9r3l3xx33XbbbWYUZsyYMWbV13XXXSdTpkwxqyAV9z39nNxjfdR/l4IdO3bMrExK9e8h7wKMDusOHDjQzJ0G/walzysrK7N6bX6htV4aXpYuXSorV640yxyD6f0vLCwM+TvQZdb6Dz5/B8kbNmyYvP322+Y3UftDRwZ0SN3+nPvuPp0eDW8ToHUZ3bp1M5/rf//6D3XwfdepD53/574n7/Dhw6aOIpj+cqr/nivue/o5ucf6qL806S9YNv25oH9PKW/ObOXpMmqtkl64cKGpkL7xxhvNMurq6upsX5ov3HTTTWZZ3f/93/9Zn376aeDj8OHDIct5dWn1ypUrzXLeyspK8wF3Ba9CUtz39CxZb9asmVnWu337dmvRokVWq1atrCeffDJkqan+G/Pcc89Zb731lnXFFVewnDdF48aNs0455ZTAMmpd5tuhQwfr9ttvD5zDfXdnVeMbb7xhPjQyPPjgg+bzjz/+2PE91mXUZ599tmkzsGbNGrNKkmXUKfj1r39t/iHXfjC6rFrXp8Md+h95pA/tDWPT/7hvvvlmq23btuYf++9///sm5CC9AYb7nh4vvPCC1bdvX/OLUa9evazHHnss5LguN50xY4ZVXl5uzhk2bJi1bdu2rF2vH9TV1Zn/tvXf8RYtWlhf//rXTb+ShoaGwDnc99S98sorEf891wDp9B7v37/fBBbt01NSUmL96Ec/MsEoVQX6P6mN4QAAAGRW3tXAAAAA7yPAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAAzyHAAAAA8Zr/D8y0J1+TWarpAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 20
  },
  {
   "cell_type": "markdown",
   "id": "603143f1058691a1",
   "metadata": {},
   "source": [
    "## 重新定义模型函数\n",
    "\n",
    "如果我们的函数还是y=wx，那么，始终覆盖不了样本数据，或者说拟合不了我们的数据，此时就需要给函数加一个偏移量，或者叫做偏置，最终函数为：y=wx+b"
   ]
  },
  {
   "cell_type": "code",
   "id": "b93e10d2b8d53d95",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T04:22:37.657460Z",
     "start_time": "2025-07-16T04:22:37.469511Z"
    }
   },
   "source": [
    "w = 15\n",
    "y_predict = w * x\n",
    "\n",
    "plt.ylim(0, 1000)\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 23
  },
  {
   "cell_type": "code",
   "id": "a59a48a630da829e",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T04:22:52.122543Z",
     "start_time": "2025-07-16T04:22:51.893615Z"
    }
   },
   "source": [
    "w = 10\n",
    "b = 150\n",
    "\n",
    "y_predict = w * x + b\n",
    "\n",
    "plt.ylim(0, 1000)\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 24
  },
  {
   "cell_type": "markdown",
   "id": "4081b75e6ba10110",
   "metadata": {},
   "source": "从而在训练时，也需要不断调整b的值，从而找到最合适的b"
  },
  {
   "cell_type": "code",
   "id": "9ce8384441dfde4f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-16T05:45:43.214940Z",
     "start_time": "2025-07-16T05:45:33.545086Z"
    }
   },
   "source": [
    "# 大都督周瑜（我的微信: dadudu6789）\n",
    "\n",
    "x = np.random.randint(1, 100, 100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "y = np.array(y) + 1000\n",
    "print(x[:5])\n",
    "print(y[:5])\n",
    "\n",
    "x = x / 100\n",
    "y = y / 100\n",
    "\n",
    "epoch = 200\n",
    "w = 0.1\n",
    "b = 0.1\n",
    "\n",
    "for _ in range(epoch):\n",
    "    for i in range(len(x)):\n",
    "        y_predict = w * x[i] + b\n",
    "        loss = y_predict - y[i]\n",
    "        w = w - loss * x[i]\n",
    "        b = b - loss\n",
    "\n",
    "y_predict = w * x + b\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()\n",
    "\n",
    "print(f\"w = {w} b = {b}\")"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[90 15 31 62 62]\n",
      "[1907 1226 1362 1676 1699]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "w = 10.299986115057093 b = 10.13970529680711\n"
     ]
    }
   ],
   "execution_count": 34
  },
  {
   "cell_type": "markdown",
   "id": "4196556cb5af77e2",
   "metadata": {},
   "source": [
    "y=wx+b，就是一个很简单的线性回归模型，其中w和b就是参数，是需要训练得出的。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.20"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
